Compare commits

..

No commits in common. "dac395dac6ae1612c77a61811b41fa95d123fe42" and "5502cea3f66d7acd58233e653916cc76b8bde47f" have entirely different histories.

View File

@ -647,6 +647,12 @@ 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 -- Enable the following language servers
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
-- --
@ -705,31 +711,34 @@ require('lazy').setup({
}) })
require('mason-tool-installer').setup { ensure_installed = ensure_installed } require('mason-tool-installer').setup { ensure_installed = ensure_installed }
-- Handle LSP setups -- Handle lsp setups differently based on Neovim version
-- See :help vim.lsp.enable -- See :help vim.lsp.config and :help vim.lsp.enable for Neovim 0.11+
if vim.fn.has 'nvim-0.11' == 1 then
for server, config in pairs(servers) do for server, config in pairs(servers) do
-- 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)
config.capabilities = vim.tbl_deep_extend('force', {}, capabilities, config.capabilities or {})
vim.lsp.config(server, config) vim.lsp.config(server, config)
vim.lsp.enable(server) vim.lsp.enable(server)
end end
-- NOTE: Some servers still require the nvim-lspconfig setup until they are updated else
-- Use this template inside the for loop if you encounter issues with an lsp -- For Neovim 0.10 and below, use mason-lspconfig for setup
-- require('mason-lspconfig').setup {
-- if server == 'example_server' or server == 'example_server2' then ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
-- -- This handles overriding only values explicitly passed automatic_installation = false,
-- -- by the server configuration above. Useful when disabling handlers = {
-- -- certain features of an LSP (for example, turning off formatting for ts_ls) function(server_name)
-- local capabilities = require('blink.cmp').get_lsp_capabilities() local server = servers[server_name] or {}
-- config.capabilities = vim.tbl_deep_extend('force', {}, capabilities, config.capabilities or {}) -- This handles overriding only values explicitly passed
-- require('mason-lspconfig')[server].setup(config) -- by the server configuration above. Useful when disabling
-- else -- certain features of an LSP (for example, turning off formatting for ts_ls)
-- vim.lsp.config(server, config) server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
-- vim.lsp.enable(server) require('lspconfig')[server_name].setup(server)
-- end 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. end
-- 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, end,
}, },