@@ -365,26 +365,30 @@ local servers = {
365365
366366-- Setup neovim lua configuration
367367require (' 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 )
368372
369373-- Setup mason so it can manage external tooling
370374require (' mason' ).setup ()
371375
372376-- Ensure the servers above are installed
373- require (' mason-lspconfig' ).setup {
377+ local mason_lspconfig = require (' mason-lspconfig' )
378+
379+ mason_lspconfig .setup {
374380 ensure_installed = vim .tbl_keys (servers ),
375381}
376382
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+ }
388392
389393-- Turn on lsp status information
390394require (' fidget' ).setup ()
0 commit comments