File tree 8 files changed +35
-15
lines changed
8 files changed +35
-15
lines changed Original file line number Diff line number Diff line change 38
38
; ; build a jar, https://juxt.pro/blog/posts/pack-maven.html
39
39
:pack {:extra-deps {pack/pack.alpha {:git/url " https://github.com/juxt/pack.alpha.git"
40
40
:sha " 2769a6224bfb938e777906ea311b3daf7d2220f5" }}
41
- :main-opts [" -m" ]}}}
41
+ :main-opts [" -m" ]}
42
+
43
+ ; ; clojure -M:dev-figwheel:fig-repl:dev-shadow:test:eastwood
44
+ :eastwood
45
+ {:main-opts [" -m" " eastwood.lint" {:config-files [" eastwood.clj" ]}]
46
+ :extra-deps {org.clojure/tools.nrepl {:mvn/version " 0.2.13" }
47
+ jonase/eastwood {:mvn/version " 0.9.9" }}}}}
Original file line number Diff line number Diff line change
1
+ ; ; avoid a corner case in Eastwood / tools.analyzer:
2
+ (require 'figwheel.main.api)
3
+
4
+ (disable-warning
5
+ {:linter :constant-test
6
+ :if-inside-macroexpansion-of #{'suitable.complete-for-nrepl/with-cljs-env}})
Original file line number Diff line number Diff line change 1
- (ns dev. suitable.scratch
1
+ (ns suitable.scratch
2
2
(:require [clojure.zip :as zip]
3
3
[clojure.spec.alpha :as s]
4
4
[clojure.spec.test.alpha :as st]))
Original file line number Diff line number Diff line change 110
110
`cider.piggieback/generate-delegating-repl-env`."
111
111
[renv]
112
112
(= (some-> 'cljs.repl.node.NodeEnv
113
- resolve
113
+ ^Class ( resolve )
114
114
.getName
115
115
(string/replace " ." " _" ))
116
116
(-> renv
Original file line number Diff line number Diff line change 25
25
(cljs-eval-fn ns code))
26
26
(catch #?(:clj Exception :cljs js/Error) e {:error e}))))
27
27
28
- (defn find-prefix [form]
28
+ (defn find-prefix
29
29
" Tree search for the symbol '__prefix. Returns a zipper."
30
+ [form]
30
31
(loop [node (tree-zipper form)]
31
32
(if (= '__prefix__ (zip/node node))
32
33
node
131
132
; ; or "(this-as this this)" for symbol = "js/window"
132
133
obj-expr (cl-format nil " (this-as this ~[this~:;(.. this ~{-~A~^ ~})~])"
133
134
(count obj-expr-parts) obj-expr-parts)]
134
- obj-expr-parts
135
135
{:prefix prefix
136
136
:prepend-to-candidate (str " js/" dotted-obj-expr)
137
137
:vars-have-dashes? false
Original file line number Diff line number Diff line change 1
1
(ns suitable.utils
2
- (:require cljs.env ))
2
+ (:require
3
+ [cljs.env]
4
+ [cljs.repl]))
3
5
4
6
(defn wrapped-cljs-repl-eval
5
7
" cljs-eval-fn for `suitable.cljs-completions` that can be used when a
Original file line number Diff line number Diff line change 9
9
(def ^:dynamic *handler* cider-nrepl-handler )
10
10
(def ^:dynamic *session* nil )
11
11
12
- (def ^:dynamic *server* nil )
13
- (def ^:dynamic *transport* nil )
12
+ (def ^:dynamic ^nrepl.server.Server *server* nil )
13
+ (def ^:dynamic ^nrepl.transport.FnTransport *transport* nil )
14
14
15
15
(defn message
16
16
([msg] (message msg true ))
20
20
(nrepl/combine-responses responses)
21
21
responses))))
22
22
23
+ (def handler nil )
24
+ (def server nil )
25
+ (def transport nil )
26
+ (def client nil )
27
+ (def session nil )
28
+
23
29
(defmacro start [renv-form]
24
30
`(do
25
- (def handler (default-handler #'piggieback/wrap-cljs-repl #'wrap-complete-standalone))
26
- (def server (start-server :handler handler))
27
- (def transport (nrepl/connect :port (:port server)))
28
- (def client (nrepl/client transport 3000 ))
29
- (def session (nrepl/client-session client))
30
- (alter-var-root #'*server* (constantly server))
31
+ (alter-var-root #' handler (constantly ( default-handler #'piggieback/wrap-cljs-repl #'wrap-complete-standalone) ))
32
+ (alter-var-root #' server ( constantly (start-server :handler handler) ))
33
+ (alter-var-root #' transport (constantly ( nrepl/connect :port (:port server) )))
34
+ (alter-var-root #' client ( constantly (nrepl/client transport 3000 ) ))
35
+ (alter-var-root #' session (constantly ( nrepl/client-session client) ))
36
+ (alter-var-root #'*server* (constantly server))
31
37
(alter-var-root #'*transport* (constantly transport))
32
38
(alter-var-root #'*session* (constantly session))
33
39
(dorun (message
Original file line number Diff line number Diff line change 174
174
(sut/cljs-completions cljs-eval-fn " ba" {:ns " cljs.user" :context " (.. js/foo zork (__prefix__ \" foo\" ))" })))))
175
175
176
176
177
- (deftest dotdot-completion-chained+nested
177
+ (deftest dotdot-completion-chained+nested-2
178
178
(let [cljs-eval-fn (fake-cljs-eval-fn " (.. js/foo zork)" " ba" [{:name " bar" :hierarchy 1 :type " var" }
179
179
{:name " baz" :hierarchy 1 :type " function" }])]
180
180
(is (= [(candidate " -bar" " (.. js/foo zork)" )]
You can’t perform that action at this time.
0 commit comments