diff --git a/home/.config/nvim/lua/plugins/init.lua b/home/.config/nvim/lua/plugins/init.lua index 0685119e..458d6040 100644 --- a/home/.config/nvim/lua/plugins/init.lua +++ b/home/.config/nvim/lua/plugins/init.lua @@ -79,20 +79,25 @@ require('packer').startup(function() -- Read editorconfig settings use 'editorconfig/editorconfig-vim' - -- Install LSP server executables + -- Package manager for LSP servers, DAP servers etc. use { 'williamboman/mason.nvim', - config = function() require('mason').setup {} end + config = require('plugins.mason').setup } + + -- Install LSP server executables with Mason use { 'williamboman/mason-lspconfig.nvim', - config = function() - require('mason-lspconfig').setup {automatic_installation = true} - end + after = 'mason', + config = require('plugins.mason').lspconfig_setup } -- Configs for built-in LSP - use {'neovim/nvim-lspconfig', config = require('plugins.lspconfig').setup} + use { + 'neovim/nvim-lspconfig', + after = 'mason-lspconfig', + config = require('plugins.lspconfig').setup + } -- Additional LSP features for Java use 'mfussenegger/nvim-jdtls' @@ -121,7 +126,7 @@ require('packer').startup(function() {'hrsh7th/cmp-path'}, -- Path source {'saadparwaiz1/cmp_luasnip'} -- Snippets source }, - config = require('plugins.cmp'), + config = require('plugins.cmp') } -- Automatic brackets diff --git a/home/.config/nvim/lua/plugins/mason.lua b/home/.config/nvim/lua/plugins/mason.lua new file mode 100644 index 00000000..5a3f4a9c --- /dev/null +++ b/home/.config/nvim/lua/plugins/mason.lua @@ -0,0 +1,10 @@ +local M = {} + +local opts = {mason = {}, lspconfig = {automatic_installation = true}} + +M.setup = function() require('mason').setup(opts.mason) end + +M.lspconfig_setup = + function() require('mason-lspconfig').setup(opts.lspconfig) end + +return M