diff options
Diffstat (limited to 'lua/plugins/lsp/config.lua')
-rw-r--r-- | lua/plugins/lsp/config.lua | 88 |
1 files changed, 46 insertions, 42 deletions
diff --git a/lua/plugins/lsp/config.lua b/lua/plugins/lsp/config.lua index 579cfec..38aec3d 100644 --- a/lua/plugins/lsp/config.lua +++ b/lua/plugins/lsp/config.lua @@ -1,45 +1,49 @@ return { - { - "neovim/nvim-lspconfig", - event = { "BufReadPre", "BufNewFile" }, - opts = { servers = {} }, - config = function(_, opts) - local add_hook_after = require("lspconfig.util").add_hook_after - local on_attach = function(client, bufnr) - require("nvim-navic").attach(client, bufnr) - end + { + "neovim/nvim-lspconfig", + event = { "BufReadPre", "BufNewFile" }, + opts = { servers = {} }, + config = function(_, opts) + local add_hook_after = require("lspconfig.util").add_hook_after + local on_attach = function(client, bufnr) + require("nvim-navic").attach(client, bufnr) + end - for lsp, lsp_opts in pairs(opts.servers) do - lsp_opts = lsp_opts or {} - if lsp_opts.on_attach ~= nil then - lsp_opts["on_attach"] = add_hook_after(on_attach, lsp_opts.on_attach) - end - lsp_opts["capabilities"] = require("cmp_nvim_lsp").default_capabilities( - lsp_opts.capabilities or {} - ) - require("lspconfig")[lsp].setup(lsp_opts) - end - end, - init = function() - vim.diagnostic.config({ - float = { - source = "always", - format = function(diagnostic) - -- should work for any LSP, see: https://github.com/neovim/neovim/pull/17510 - if diagnostic.code then - return string.format( - "(%s) %s", - diagnostic.code, - diagnostic.message - ) - end - return diagnostic.message - end, - }, - }) - end, - dependencies = { - { "SmiteshP/nvim-navic", opts = { highlight = true } }, - }, - }, + for lsp, lsp_opts in pairs(opts.servers) do + lsp_opts = lsp_opts or {} + if lsp_opts.on_attach ~= nil then + lsp_opts["on_attach"] = + add_hook_after(on_attach, lsp_opts.on_attach) + end + lsp_opts["capabilities"] = + require("cmp_nvim_lsp").default_capabilities( + lsp_opts.capabilities or {} + ) + lsp_opts.capabilities.textDocument.completion.completionItem.snippetSupport = + true + require("lspconfig")[lsp].setup(lsp_opts) + end + end, + init = function() + vim.diagnostic.config({ + float = { + source = "always", + format = function(diagnostic) + -- should work for any LSP, see: https://github.com/neovim/neovim/pull/17510 + if diagnostic.code then + return string.format( + "(%s) %s", + diagnostic.code, + diagnostic.message + ) + end + return diagnostic.message + end, + }, + }) + end, + dependencies = { + { "SmiteshP/nvim-navic", opts = { highlight = true } }, + }, + }, } |