blob: fd2271d210a8946824b85cc0a6b531a707e6855d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
;; LSP installer.
(module config.lsp.lsp-installer
{autoload {util util}})
(def- opts
(let [handlers (require :config.lsp.handlers)]
{:on_attach: handlers.on_attach
:capabilities 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 [lsp-installer (util.load-plugin :lsp-installer)]
(lsp-installer.on_server_ready (fn [server]
(let [opts (get-server-opts server)]
(server:setup opts)))))
|