-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtools_deps.cljs
More file actions
41 lines (38 loc) · 1.97 KB
/
tools_deps.cljs
File metadata and controls
41 lines (38 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(ns calva-power-tools.tool.tools-deps
(:require
["vscode" :as vscode]
[calva-power-tools.calva :as calva]
[calva-power-tools.extension.db :as db]
[calva-power-tools.extension.life-cycle-helpers :as lc-helpers]))
(defn activate! []
(calva/register-snippet! "cpt.deps.loadSelectedDependencies"
{:snippet "((requiring-resolve 'clojure.repl.deps/add-libs) '{$selection})"
:ns "user"
:repl "clj"})
(lc-helpers/register-command!
db/!app-db "cpt.deps.loadDependencies"
(fn []
(-> (vscode/window.showInputBox #js {:title "Enter one or more deps.edn dependency coordinates"
:ignoreFocusOut true
:placeHolder "dev.weavejester/medley {:mvn/version \"1.8.1\"}"})
(.then (fn [s]
(when s
(let [snippet {:snippet (str "((requiring-resolve 'clojure.repl.deps/add-libs) '{" s "})")
:ns "user"
:repl "clj"}]
(calva/execute-calva-command! "calva.runCustomREPLCommand"
(clj->js snippet)))))))))
(lc-helpers/register-command!
db/!app-db "cpt.deps.syncDeps"
(fn []
(-> (vscode/window.showInputBox #js {:title "Aliases. Leave empty and press ENTER for no aliases"
:ignoreFocusOut true
:placeHolder ":dev :test"})
(.then (fn [s]
(when s
(let [snippet {:snippet (str "((requiring-resolve 'clojure.repl.deps/sync-deps)
:aliases [" s "])")
:ns "user"
:repl "clj"}]
(calva/execute-calva-command! "calva.runCustomREPLCommand"
(clj->js snippet))))))))))