blob: 3e34c3253cf54510261f79bcb915630c614786fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
;; Mason lspconfig setup
(fn capabilities []
(let [cmp-lsp (require :cmp_nvim_lsp)]
(cmp-lsp.default_capabilities (vim.lsp.protocol.make_client_capabilities))))
(fn handlers [server]
(let [servers (require :plugins.lsp.servers)
lspconfig (require :lspconfig)]
(let [config (. lspconfig server)
opts (or (. servers server) {})]
(tset opts :capabilities (capabilities))
(config.setup opts))))
(fn setup []
(let [mason-lspconfig (require :mason-lspconfig)
servers (require :plugins.lsp.servers)]
(mason-lspconfig.setup {:ensure_installed (vim.tbl_keys servers)
:automatic_installation true
:handlers [handlers]})))
{: setup}
|