@@ -2977,14 +2977,20 @@ to create an alias or refer."
2977
2977
(save-excursion
2978
2978
(cljr--insert-in-ns " :require" )
2979
2979
(let ((missing (format " %s " missing-symbol))
2980
- (alias? (cljr--qualified-symbol-p symbol)))
2981
- (if alias?
2982
- (cljr--insert-libspec-verbosely (format " [%s :as %s ] " missing
2983
- (cljr--symbol-prefix symbol)))
2984
- (if (and (s-contains-p " ." missing)
2985
- (s-uppercase? (s-left 1 (cljr--symbol-suffix missing))))
2986
- (cljr--insert-libspec-verbosely (cljr--symbol-prefix symbol))
2987
- (cljr--insert-libspec-verbosely (format " [%s :refer [%s ]] "
2980
+ (alias? (cljr--qualified-symbol-p symbol)))
2981
+ (cond
2982
+ ; ; defrecord / deftype where the package must be required
2983
+ ((and (s-contains-p " ." missing)
2984
+ (s-uppercase? (s-left 1 (cljr--symbol-suffix symbol))))
2985
+ (cljr--insert-libspec-verbosely (cljr--symbol-prefix missing)))
2986
+ ; ; Fully qualified symbol
2987
+ ((and (cljr--qualified-symbol-p symbol)
2988
+ (string= (cljr--symbol-prefix symbol) missing))
2989
+ (cljr--insert-libspec-verbosely missing))
2990
+ (alias?
2991
+ (cljr--insert-libspec-verbosely (format " [%s :as %s ] " missing
2992
+ (cljr--symbol-prefix symbol))))
2993
+ (t (cljr--insert-libspec-verbosely (format " [%s :refer [%s ]] "
2988
2994
missing symbol)))))))
2989
2995
2990
2996
(defun cljr--add-missing-libspec (symbol candidates )
@@ -2999,11 +3005,11 @@ to create an alias or refer."
2999
3005
; ; In the line below we're assuming that all clojure code
3000
3006
; ; will prefer - over _ when naming namespaces :(
3001
3007
(progn (cljr--insert-missing-require
3002
- (s-replace " _ " " - " ( format " %s " missing- symbol))
3003
- missing-symbol)
3008
+ symbol
3009
+ (s-replace " _ " " - " ( format " %s " missing-symbol)) )
3004
3010
(cljr--insert-missing-import missing-symbol)))
3005
3011
((eq type :class ) (cljr--insert-missing-import missing-symbol))
3006
- (t (error (format " Uknown type %s " type))))))
3012
+ (t (error (format " Unknown type %s " type))))))
3007
3013
3008
3014
(defun cljr--symbol-suffix (symbol )
3009
3015
" java.util.Date => Date
0 commit comments