From 6aabd7797ff2559fa26fc57c380ef24aa4961c33 Mon Sep 17 00:00:00 2001 From: XeroOl Date: Sat, 25 Oct 2025 13:48:06 -0500 Subject: [PATCH] skip some unnecessary jsonrpc shennanigans in non-interactive code The "initialize" jsonrpc method calls `config.initialize`, so we can just call it directly. --- src/fennel-ls.fnl | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/fennel-ls.fnl b/src/fennel-ls.fnl index b36c450..54122df 100644 --- a/src/fennel-ls.fnl +++ b/src/fennel-ls.fnl @@ -4,6 +4,7 @@ (local lint (require :fennel-ls.lint)) (local utils (require :fennel-ls.utils)) (local files (require :fennel-ls.files)) +(local config (require :fennel-ls.config)) (local {: severity->string &as message} (require :fennel-ls.message)) (fn print-diagnostic [filename {:message msg : range : severity}] @@ -17,16 +18,12 @@ msg))) (fn initialize [server] - (let [params {:id 1 - :jsonrpc "2.0" - :method "initialize" - :params {:capabilities {:general {:positionEncodings [:utf-8]}} - :clientInfo {:name "fennel-ls"} - :rootUri "file://."}}] - (each [_ response (ipairs (dispatch.handle* server params))] - (case response - {:method "window/showMessage" :params {: message}} - (print "WARN:" message))))) + (let [params {:capabilities {:general {:positionEncodings [:utf-8]}} + :clientInfo {:name "fennel-ls"} + :rootUri "file://."}] + (config.initialize server params) + (each [{: message} (ipairs server.queue)] + (print "WARN:" message)))) (λ lint-files [filenames] "non-interactive mode that gets executed from CLI with --lint.