diff options
Diffstat (limited to 'fnl/plugins/lsp.fnl')
| -rw-r--r-- | fnl/plugins/lsp.fnl | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/fnl/plugins/lsp.fnl b/fnl/plugins/lsp.fnl index f04ba86..482916a 100644 --- a/fnl/plugins/lsp.fnl +++ b/fnl/plugins/lsp.fnl @@ -1,3 +1,29 @@ -;; Lsp plugins. +;; LSP configuration. -[(require :plugins.lsp.lspconfig) (require :plugins.lsp.mason)] +(λ config [] + (vim.api.nvim_create_autocmd :LspAttach + {:callback (λ [args] + (let [{: on-attach} (require :plugins.lsp.keymaps)] + (on-attach args.buf)))}) + (let [diagnostics (require :plugins.lsp.diagnostics) + mason-lspconfig (require :plugins.lsp.mason-lspconfig)] + (diagnostics.setup) + (mason-lspconfig.setup))) + +(local icons (require :settings.icons)) + +[{1 :neovim/nvim-lspconfig + :event :BufNew + :dependencies [:mason.nvim + :williamboman/mason-lspconfig.nvim + :b0o/schemastore.nvim + :saghen/blink.cmp] + : config} + {1 :williamboman/mason.nvim + :cmd :Mason + :keys [{1 :<leader>m 2 :<cmd>Mason<cr> :desc :Mason}] + :opts {:ui {:border :single + :icons {:package_installed (.. (. icons :checkmark) " ") + :package_pending (.. (. icons :arrow-right) " ") + :package_uninstalled (.. (. icons :close) " ")}} + :max_concurrent_installers 10}}] |