@@ -365,26 +365,30 @@ local servers = {
365
365
366
366
-- Setup neovim lua configuration
367
367
require (' neodev' ).setup ()
368
+ --
369
+ -- nvim-cmp supports additional completion capabilities, so broadcast that to servers
370
+ local capabilities = vim .lsp .protocol .make_client_capabilities ()
371
+ capabilities = require (' cmp_nvim_lsp' ).default_capabilities (capabilities )
368
372
369
373
-- Setup mason so it can manage external tooling
370
374
require (' mason' ).setup ()
371
375
372
376
-- Ensure the servers above are installed
373
- require (' mason-lspconfig' ).setup {
377
+ local mason_lspconfig = require (' mason-lspconfig' )
378
+
379
+ mason_lspconfig .setup {
374
380
ensure_installed = vim .tbl_keys (servers ),
375
381
}
376
382
377
- -- nvim-cmp supports additional completion capabilities, so broadcast that to servers
378
- local capabilities = vim .lsp .protocol .make_client_capabilities ()
379
- capabilities = require (' cmp_nvim_lsp' ).default_capabilities (capabilities )
380
-
381
- for lsp , settings in ipairs (servers ) do
382
- require (' lspconfig' )[lsp ].setup {
383
- on_attach = on_attach ,
384
- capabilities = capabilities ,
385
- settings = settings ,
386
- }
387
- end
383
+ mason_lspconfig .setup_handlers {
384
+ function (server_name )
385
+ require (' lspconfig' )[server_name ].setup {
386
+ capabilities = capabilities ,
387
+ on_attach = on_attach ,
388
+ settings = servers [server_name ],
389
+ }
390
+ end ,
391
+ }
388
392
389
393
-- Turn on lsp status information
390
394
require (' fidget' ).setup ()
0 commit comments