Skip to content

Commit fbabdeb

Browse files
[track-state] Consolidate ops-that-can-eval
1 parent 2bc2b78 commit fbabdeb

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

src/cider/nrepl.clj

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -739,20 +739,13 @@ stack frame of the most recent exception. This op is deprecated, please use the
739739
:requires {"ns" "The namespace to trace"}
740740
:returns {"ns-status" "The result of tracing operation"}}}})
741741

742-
(def ops-that-can-eval
743-
"Set of nREPL ops that can lead to code being evaluated."
744-
#{"eval" "load-file"
745-
"refresh" "refresh-all" "refresh-clear"
746-
"cider.clj-reload/reload" "cider.clj-reload/reload-all" "cider.clj-reload/reload-clear"
747-
"toggle-trace-var" "toggle-trace-ns" "undef" "undef-all"})
748-
749742
(def-wrapper wrap-tracker cider.nrepl.middleware.track-state/handle-tracker
750-
ops-that-can-eval
743+
mw/ops-that-can-eval
751744
(cljs/expects-piggieback
752745
{:doc "Under its normal operation mode, enhances the `eval` op by notifying the client of the current REPL state.
753746
You can also request to compute the info directly by requesting the \"cider/get-state\" op."
754747
:requires #{#'session}
755-
:expects ops-that-can-eval
748+
:expects mw/ops-that-can-eval
756749
:handles {"cider/get-state" {}}
757750
:returns {"repl-type" "`:clj` or `:cljs`."
758751
"changed-namespaces" "A map of namespaces to `{:aliases ,,, :interns ,,,}`"}}))

src/cider/nrepl/middleware.clj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,12 @@
3333
cider.nrepl/wrap-undef
3434
cider.nrepl/wrap-version
3535
cider.nrepl/wrap-xref])
36+
37+
(def ops-that-can-eval
38+
"Set of nREPL ops that can lead to code being evaluated."
39+
#{"eval" "load-file"
40+
"refresh" "refresh-all" "refresh-clear"
41+
"cider.clj-reload/reload" "cider.clj-reload/reload-all" "cider.clj-reload/reload-clear"
42+
"toggle-trace-var" "toggle-trace-ns"
43+
"undef" "undef-all"
44+
"cider/profile-toggle-var" "cider/profile-toggle-ns"})

src/cider/nrepl/middleware/track_state.clj

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"State tracker for client sessions."
33
{:author "Artur Malabarba"}
44
(:require
5+
[cider.nrepl.middleware :as mw]
56
[cider.nrepl.middleware.util :as util]
67
[cider.nrepl.middleware.util.cljs :as cljs]
78
[cider.nrepl.middleware.util.meta :as um]
@@ -334,17 +335,12 @@
334335
(send ns-cache update-in [session]
335336
update-and-send-cache msg)))))
336337

337-
(def ops-that-can-eval
338-
"Set of nREPL ops that can lead to code being evaluated."
339-
#{"eval" "load-file" "refresh" "refresh-all" "refresh-clear"
340-
"toggle-trace-var" "toggle-trace-ns" "undef"})
341-
342338
(defn handle-tracker [handler {:keys [op session] :as msg}]
343339
(cond
344340
(= "cider/get-state" op)
345341
(send ns-cache update-in [session] update-and-send-cache msg)
346342

347-
(ops-that-can-eval op)
343+
(mw/ops-that-can-eval op)
348344
(handler (assoc msg :transport (make-transport msg)))
349345

350346
:else

0 commit comments

Comments
 (0)