Skip to content

Commit

Permalink
feat: Add setting-http-server-port-interceptor
Browse files Browse the repository at this point in the history
  • Loading branch information
liquidz committed Feb 21, 2024
1 parent 9ce4e1f commit dbe9d39
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
1 change: 1 addition & 0 deletions resources/config.edn
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{:interceptor {:includes [elin.interceptor.autocmd/ns-create-interceptor
elin.interceptor.autocmd/setting-http-server-port-interceptor
elin.interceptor.connect/connected-interceptor
elin.interceptor.connect/output-channel-interceptor
elin.interceptor.connect/port-auto-detecting-interceptor
Expand Down
19 changes: 18 additions & 1 deletion src/elin/interceptor/autocmd.clj
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
(ns elin.interceptor.autocmd
(:require
[elin.constant.interceptor :as e.c.interceptor]
[elin.constant.server :as e.c.server]
[elin.error :as e]
[elin.function.nrepl :as e.f.nrepl]
[elin.function.vim :as e.f.vim]
[elin.function.vim.sexp :as e.f.v.sexp]
[elin.protocol.nrepl :as e.p.nrepl]))
[elin.protocol.nrepl :as e.p.nrepl]
[elin.protocol.storage :as e.p.storage]))

(def ^:priavte ns-created-var-name
"b:elin_ns_created")
Expand All @@ -28,3 +30,18 @@
(e.f.nrepl/eval!! nrepl))
(e.f.vim/set-variable!! host ns-created-var-name true)))
ctx)})

(def setting-http-server-port-interceptor
{:name ::setting-http-server-port-interceptor
:kind e.c.interceptor/autocmd
:enter (fn [{:as ctx :component/keys [host session-storage] :keys [autocmd-type]}]
(when (contains? #{"BufRead" "BufEnter"} autocmd-type)
(when-let [port (e.p.storage/get session-storage e.c.server/http-server-port-key)]
(e.f.vim/set-variable!! host
(str "g:" e.c.server/http-server-port-variable)
port)
;; NOTE buffer scoped variable is used by coc.nvim
(e.f.vim/set-variable!! host
(str "b:" e.c.server/http-server-port-variable)
port)))
ctx)})

0 comments on commit dbe9d39

Please sign in to comment.