@ -483,7 +483,7 @@ require('lazy').setup({
-- Mason must be loaded before its dependents so we need to set it up here.
-- NOTE: `opts = {}` is the same as calling `require('mason').setup({})`
{ ' mason-org/mason.nvim ' , opts = { } } ,
' mason-org/mason-lspconfig.nvim ' ,
{ ' mason-org/mason-lspconfig.nvim ' , opts = { } } ,
' WhoIsSethDaniel/mason-tool-installer.nvim ' ,
-- Useful status updates for LSP.
@ -700,6 +700,14 @@ require('lazy').setup({
} ,
}
-- The following loop will configure each server with the capabilities we defined above.
-- This will ensure that all servers have the same base configuration, but also
-- allow for server-specific overrides.
for server_name , server_config in pairs ( servers ) do
server_config.capabilities = vim.tbl_deep_extend ( ' force ' , { } , capabilities , server_config.capabilities or { } )
require ( ' lspconfig ' ) [ server_name ] . setup ( server_config )
end
-- Ensure the servers and tools above are installed
--
-- To check the current status of installed tools and/or manually install
@ -718,21 +726,6 @@ require('lazy').setup({
' stylua ' , -- Used to format Lua code
} )
require ( ' mason-tool-installer ' ) . setup { ensure_installed = ensure_installed }
require ( ' mason-lspconfig ' ) . setup {
ensure_installed = { } , -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
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 )
end ,
} ,
}
end ,
} ,