From 9ae371fc6c94765862719a2c57554ab98794cecd Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Wed, 6 Apr 2022 22:37:29 +0200 Subject: feat(lsp installer): add fnl config --- fnl/config/lsp/lsp-installer.fnl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 fnl/config/lsp/lsp-installer.fnl (limited to 'fnl/config') diff --git a/fnl/config/lsp/lsp-installer.fnl b/fnl/config/lsp/lsp-installer.fnl new file mode 100644 index 0000000..a32ee9b --- /dev/null +++ b/fnl/config/lsp/lsp-installer.fnl @@ -0,0 +1,26 @@ +;; LSP installer. + +(module config.lsp.lsp-installer + {autoload {util util}}) + +(def- opts + {:on_attach: ((require :config.lsp.handlers).on_attach) + :capabilities ((require :config.lsp.handlers).capabilities)}) + +(defn- get-server-opts [server] + (when (= server.name :jsonls) + (let [jsonls-opts (require :config.lsp.settings.jsonls)] + (vim.tbl_deep_extend :force jsonls-opts opts))) + (when (= server.name :sumneko_lua) + (let [sumneko-lua-opts (require :config.lsp.settings.sumneko-lua)] + (vim.tbl_deep_extend :force sumneko-lua-opts opts))) + (when (= server.name :pyright) + (let [pyright-opts (require :config.lsp.settings.pyright)] + (vim.tbl_deep_extend :force pyright-opts opts)))) + + +(let [(ok? lsp-installer) util.load-plugin :lsp-installer] + (when ok? + (lsp-installer.on_server_ready (fn [server] + (let [opts (get-server-opts server)] + server:setup opts))))) -- cgit v1.2.3-70-g09d2