Skip to content

Commit e0fccd6

Browse files
author
John Louis Walker
committed
Alias support
1 parent 3ae1d06 commit e0fccd6

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

typed-clojure.el

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,28 @@
4444
:lighter " Typed"
4545
:keymap typed-clojure-mode-map)
4646

47+
(defconst current-alias-clj
48+
"(if-let [[al typedns] (first (filter #(=
49+
(find-ns 'clojure.core.typed)
50+
(val %))
51+
(ns-aliases *ns*)))]
52+
(str al \"/\")
53+
\"clojure.core.typed/\")")
54+
55+
(defun current-alias ()
56+
(cider-eval-and-get-value current-alias-clj))
57+
4758
(defun typed-clojure-check-form (&optional prefix)
4859
"Typecheck the preceding form."
4960
(interactive "P")
50-
(if prefix
51-
(cider-interactive-eval-print
52-
(format "(clojure.core.typed/cf %s)"
53-
(cider-last-sexp)))
54-
(cider-interactive-eval
55-
(format "(clojure.core.typed/cf %s)"
56-
(cider-last-sexp)))))
61+
(let ((ca (current-alias)))
62+
(if prefix
63+
(cider-interactive-eval-print
64+
(format "(%scf %s)" ca
65+
(cider-last-sexp)))
66+
(cider-interactive-eval
67+
(format "(%scf %s)" ca
68+
(cider-last-sexp))))))
5769

5870
(defconst code "
5971
(let [{:keys [delayed-errors]} (clojure.core.typed/check-ns-info)]
@@ -109,7 +121,7 @@
109121
(defun typed-clojure-insert-ann ()
110122
(interactive)
111123
(beginning-of-defun)
112-
(insert (format "(clojure.core.typed/ann %s [])\n" (which-function)))
124+
(insert (format "(%sann %s [])\n" (current-alias) (which-function)))
113125
(previous-line)
114126
(end-of-line)
115127
(backward-char 2))
@@ -120,7 +132,7 @@
120132
(paredit-wrap-round)
121133
(beginning-of-defun)
122134
(forward-char)
123-
(insert "clojure.core.typed/ann-form ")
135+
(insert (format "%sann-form " (current-alias)))
124136
(beginning-of-defun)
125137
(paredit-forward)
126138
(backward-char)

0 commit comments

Comments
 (0)