diff --git a/init.lua b/init.lua index 776c6873..44199aeb 100644 --- a/init.lua +++ b/init.lua @@ -647,12 +647,6 @@ require('lazy').setup({ }, } - -- LSP servers and clients are able to communicate to each other what features they support. - -- By default, Neovim doesn't support everything that is in the LSP specification. - -- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities. - -- So, we create new capabilities with blink.cmp, and then broadcast that to the servers. - local capabilities = require('blink.cmp').get_lsp_capabilities() - -- Enable the following language servers -- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- @@ -716,15 +710,29 @@ require('lazy').setup({ automatic_installation = false, handlers = { function(server_name) - local server = servers[server_name] or {} - -- This handles overriding only values explicitly passed - -- by the server configuration above. Useful when disabling - -- certain features of an LSP (for example, turning off formatting for ts_ls) - server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) - require('lspconfig')[server_name].setup(server) + local config = servers[server_name] or {} + vim.lsp.config(server_name, config) + vim.lsp.enable(server_name) end, }, } + -- NOTE: Some servers still require the nvim-lspconfig setup until they are updated + -- Add this template inside the handler function after initializing config if you encounter issues with any lsp + -- + -- if server_name == 'example_server' or server_name == 'example_server2' then + -- -- This handles overriding only values explicitly passed + -- -- by the server configuration above. Useful when disabling + -- -- certain features of an LSP (for example, turning off formatting for ts_ls) + -- local capabilities = require('blink.cmp').get_lsp_capabilities() + -- config.capabilities = vim.tbl_deep_extend('force', {}, capabilities, config.capabilities or {}) + -- require('mason-lspconfig')[server_name].setup(config) + -- return + -- end + -- + -- LSP servers and clients are able to communicate to each other what features they support. + -- With nvim-lspconfig setup, Neovim doesn't support everything that is in the LSP specification. + -- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities. + -- So, we create new capabilities with blink.cmp, and then broadcast that to the servers. end, },