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