trixy/fnl/plugins/lsp-zero.fnl

63 lines
1.2 KiB
Plaintext
Raw Normal View History

2024-07-14 19:04:45 +02:00
(local lsp (require :lsp-zero))
(lsp.preset)
(local lspconfig (require :lspconfig))
(lspconfig.lua_ls.setup (lsp.nvim_lua_ls))
2024-07-15 00:56:29 +02:00
(local mason (require :mason))
(mason.setup)
(local mason-lspc (require :mason-lspconfig))
2024-07-20 13:18:47 +02:00
(mason-lspc.setup
{ :ensure-installed
[ :fennel-ls
:lua-language-server
2025-01-18 19:59:42 +01:00
:python-lsp-server
:zls ]
2024-07-15 00:56:29 +02:00
2024-07-20 13:18:47 +02:00
:automatic_installation true })
2024-07-15 00:56:29 +02:00
2024-07-14 19:04:45 +02:00
(local cmp (require :cmp))
(local cmp_action (lsp.cmp_action))
2024-07-15 00:56:29 +02:00
(lsp.on_attach (fn [_ bufnr] lsp.default_keymaps {:buffer bufnr}))
2024-07-14 19:04:45 +02:00
2024-07-20 13:18:47 +02:00
(lspconfig.pylsp.setup
{ :setings
{ :pylsp
{ :plugins
{ :pycodestyle
{ :ignore [:W391 :E303 :E226]
:maxLineLength 120 } }}}})
2024-07-14 19:04:45 +02:00
(lsp.setup)
; (local fennel-ls lspconfig.fennel_ls)
; (fennel-ls.setup {})
(lspconfig.racket_langserver.setup {})
2025-01-18 19:59:42 +01:00
(lspconfig.zls.setup {})
2024-07-15 00:56:29 +02:00
2024-07-20 13:18:47 +02:00
(cmp.setup
{ :mapping
{ :<CR> (cmp.mapping.confirm {:select true})
2024-07-14 19:04:45 +02:00
2024-07-20 13:18:47 +02:00
:<Tab> (cmp.mapping
(fn [fallback]
(if (cmp.visible)
(cmp.select_next_item)
(fallback)) [:i :s] ))
2024-07-14 19:04:45 +02:00
2024-07-20 13:18:47 +02:00
:<S-Tab> (cmp.mapping
(fn [fallback]
(if (cmp.visible)
(cmp.select_prev_item)
(fallback)) [:i :s] ))
2024-07-14 19:04:45 +02:00
2024-07-20 13:18:47 +02:00
:<C-Space> cmp.mapping.complete
2024-07-14 19:04:45 +02:00
2024-07-20 13:18:47 +02:00
:<C-f> cmp_action.luasnip_jump_forward
:<C-b> cmp_action.luasnip_jump_backward }})