Commit a001267 1 parent e6f18dd commit a001267 Copy full SHA for a001267
File tree 2 files changed +21
-3
lines changed
2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change 473
473
(def ops-that-can-eval
474
474
" Set of nREPL ops that can lead to code being evaluated."
475
475
#{" eval" " load-file" " refresh" " refresh-all" " refresh-clear"
476
- " toggle-trace-var" " toggle-trace-ns" " undef" })
476
+ " toggle-trace-var" " toggle-trace-ns" " undef" " undef-all " })
477
477
478
478
(def-wrapper wrap-tracker cider.nrepl.middleware.track-state /handle-tracker
479
479
ops-that-can-eval
492
492
{" undef" {:doc " Undefine a symbol"
493
493
:requires {" sym" " The symbol to undefine"
494
494
" ns" " The namespace is which to resolve sym (falls back to *ns* if not specified)" }
495
- :returns {" status" " done" }}}})
495
+ :returns {" status" " done" }}
496
+ " undef-all" {:doc " Undefine all aliases and symbols in a namespace"
497
+ :requires {" ns" " The namespace to operate on" }
498
+ :returns {" status" " done" }}}})
496
499
497
500
(def-wrapper wrap-version cider.nrepl.middleware.version /handle-version
498
501
{:doc " Provides CIDER-nREPL version information."
Original file line number Diff line number Diff line change 27
27
(ns-unmap ns sym-name)))
28
28
sym))
29
29
30
+ (defn undef-all
31
+ " Undefines all symbol mappings and aliases in the namespace."
32
+ [{:keys [ns ]}]
33
+ (let [ns (misc/as-sym ns )]
34
+ (doseq [[sym _] (ns-map ns )]
35
+ (ns-unmap ns sym))
36
+ (doseq [[sym _] (ns-aliases ns )]
37
+ (ns-unalias ns sym))
38
+ ns ))
39
+
30
40
(defn undef-reply
31
41
[msg]
32
42
{:undef (undef msg)})
33
43
44
+ (defn undef-all-reply
45
+ [msg]
46
+ {:undef-all (undef-all msg)})
47
+
34
48
(defn handle-undef [handler msg]
35
49
(with-safe-transport handler msg
36
- " undef" undef-reply))
50
+ " undef" undef-reply
51
+ " undef-all" undef-all-reply))
You can’t perform that action at this time.
0 commit comments