diff --git a/lua/plugins.lua b/lua/plugins.lua index f0600c6..0dfa806 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -27,17 +27,15 @@ return require('packer').startup(function(use) use({'wbthomason/packer.nvim', opt = true}) -- LSP management (must come first as per mason-lspconfig.nvim's instructions) - use "williamboman/mason.nvim" - use ({ - "williamboman/mason-lspconfig.nvim", - config = function() require('plugins.mason-lspconfig') end, - }) + use { + "williamboman/mason.nvim", + run = ":MasonUpdate", + }-- :MasonUpdate updates registry contents - -- LSP server - use({ - 'neovim/nvim-lspconfig', - config = function() require('plugins.lspconfig') end - }) + use "williamboman/mason-lspconfig.nvim" + use "neovim/nvim-lspconfig" + + require("plugins.lspconfig") -- Autocomplete use({ diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua index 466d631..bb33049 100644 --- a/lua/plugins/lspconfig.lua +++ b/lua/plugins/lspconfig.lua @@ -1,30 +1,34 @@ -local nvim_lsp = require('lspconfig') -local utils = require('lsp.utils') -local common_on_attach = utils.common_on_attach +require("mason").setup() +require "lsp_signature".setup() --- add capabilities from nvim-cmp +local mason_lspconfig = require("mason-lspconfig") +local lspconfig = require("lspconfig") +local common_on_attach = require("lsp.utils").common_on_attach local capabilities = vim.lsp.protocol.make_client_capabilities() + capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) --- Enable language servers with common settings local servers = { "bashls", "clangd", "dockerls", + -- "jedi_langauge_server", "jsonls", + "lua_ls", + "marksman", "pyright", "texlab", - "marksman", } -for _, lsp in ipairs(servers) do - nvim_lsp[lsp].setup({ - on_attach = common_on_attach, - capabilities = capabilities, - }) -end - --- require('lsp.sumneko') --- signature help hover -require "lsp_signature".setup({ }) +mason_lspconfig.setup({ + ensure_installed = servers, +}) +mason_lspconfig.setup_handlers({ + function (server_name) + lspconfig[server_name].setup { + on_attach = common_on_attach, + capabilities = capabilities, + } + end +}) diff --git a/lua/plugins/mason-lspconfig.lua b/lua/plugins/mason-lspconfig.lua deleted file mode 100644 index 02d45f2..0000000 --- a/lua/plugins/mason-lspconfig.lua +++ /dev/null @@ -1,16 +0,0 @@ -require("mason").setup() - -require("mason-lspconfig").setup { - ensure_installed = { - "bashls", - "clangd", - "jsonls", - "julials", - -- "markdown", - -- "markdown_inline", - "pyright", - -- "sumneko_lua", - "texlab", - }, - automatic_installation= true, -}