This commit is contained in:
Michiel Borkent 2022-05-16 11:52:43 +02:00
parent 12b96602a3
commit 8c2dfee980
4 changed files with 35 additions and 11 deletions

View file

@ -5,7 +5,10 @@
[scittle.core :refer [!last-ns eval-string !sci-ctx]]))
(defn nrepl-websocket []
(.-ws_nrepl js/window))
(when (.-SCITTLE_BROWSER_REPL_PROXY_PORT js/window)
(set! (.-ws_nrepl js/window)
(new js/WebSocket "ws://localhost:1340/_nrepl"))
(.-ws_nrepl js/window)))
(defn nrepl-reply [{:keys [id session]} payload]
(.send (nrepl-websocket)
@ -30,11 +33,11 @@
:eval (handle-nrepl-eval msg)
:complete (nrepl-reply msg (completions (assoc msg :ctx @!sci-ctx)))))
(defn ^:export init-nrepl []
(let [ws (nrepl-websocket)]
(set! (.-onmessage ws)
(fn [event]
(handle-nrepl-message (edn/read-string (.-data event)))))
(set! (.-onerror ws)
(fn [event]
(js/console.log event)))))
(when-let [ws (nrepl-websocket)]
(set! (.-onmessage ws)
(fn [event]
(prn :event event)
(handle-nrepl-message (edn/read-string (.-data event)))))
(set! (.-onerror ws)
(fn [event]
(js/console.log event))))