Skip to content

Commit 2a6c22d

Browse files
committed
Offer completions for rename-ns-alias
1 parent a2f90ae commit 2a6c22d

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

clojure-mode.el

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2684,6 +2684,19 @@ lists up."
26842684
(insert sexp)
26852685
(clojure--replace-sexps-with-bindings-and-indent)))
26862686

2687+
(defun clojure--collect-ns-aliases ()
2688+
"Collect all aliases in current ns form."
2689+
(save-excursion
2690+
(clojure--find-ns-in-direction 'backward)
2691+
(let ((end (cdr (bounds-of-thing-at-point 'list)))
2692+
(rgx (rx ":as" (+ space)
2693+
(group-n 1 (+ (not (in " ,]\n"))))))
2694+
(res ()))
2695+
(while (re-search-forward rgx end 'noerror)
2696+
(message (match-string 1))
2697+
(push (cons (point) (match-string 1)) res))
2698+
res)))
2699+
26872700
(defun clojure--rename-ns-alias-internal (current-alias new-alias)
26882701
"Rename a namespace alias CURRENT-ALIAS to NEW-ALIAS."
26892702
(clojure--find-ns-in-direction 'backward)
@@ -2747,7 +2760,8 @@ With a numeric prefix argument the let is introduced N lists up."
27472760
(defun clojure-rename-ns-alias ()
27482761
"Rename a namespace alias."
27492762
(interactive)
2750-
(let ((current-alias (read-from-minibuffer "Current alias: ")))
2763+
(let ((current-alias (completing-read "Current alias: "
2764+
(mapcar 'cdr (clojure--collect-ns-aliases)))))
27512765
(save-excursion
27522766
(clojure--find-ns-in-direction 'backward)
27532767
(let ((rgx (concat ":as +" current-alias))

0 commit comments

Comments
 (0)