From e3497251acfd2615a8e942d60e78b502f78f906b Mon Sep 17 00:00:00 2001 From: liquidz Date: Mon, 29 Jan 2024 22:10:26 +0900 Subject: [PATCH] feat: Add connected-interceptor --- src/elin/component/interceptor.clj | 1 + src/elin/interceptor/connect.clj | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/elin/component/interceptor.clj b/src/elin/component/interceptor.clj index a4135bb8..293e29d4 100644 --- a/src/elin/component/interceptor.clj +++ b/src/elin/component/interceptor.clj @@ -17,6 +17,7 @@ (def ^:private default-interceptors [e.i.connect/port-auto-detecting-interceptor e.i.connect/output-channel-interceptor + e.i.connect/connected-interceptor e.i.output/print-output-interceptor e.i.nrepl/eval-ns-interceptor e.i.nrepl/normalize-path-interceptor diff --git a/src/elin/interceptor/connect.clj b/src/elin/interceptor/connect.clj index 13fb55d1..1bf9c98c 100644 --- a/src/elin/interceptor/connect.clj +++ b/src/elin/interceptor/connect.clj @@ -24,10 +24,10 @@ (def output-channel-interceptor {:name ::output-channel-interceptor :kind e.c.interceptor/connect - :leave (fn [{:as ctx :elin/keys [interceptor] :keys [elin client]}] + :leave (fn [{:as ctx :keys [elin client]}] (when client (async/go-loop [] - (let [{:component/keys [writer]} elin + (let [{:component/keys [writer interceptor]} elin ch (get-in client [:connection :output-channel]) output (async/> {:elin elin :autocmd-type "BufEnter"} + (e.p.interceptor/execute interceptor e.c.interceptor/autocmd))) + ctx)})