summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/nvim-lspconfig.lua
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-04-24 11:36:39 +0300
committerKyren223 <Kyren223@proton.me>2025-04-24 11:36:39 +0300
commit6bef8f32b19778fdfe52f0eb39719425508dcc7b (patch)
treef293141ed7e8676b76bb06c07a0fa9472b10e2ac /.config/nvim/lua/plugins/nvim-lspconfig.lua
parentdbd9a6fdd0c44e26b200fb706aacd120a2e09c47 (diff)
Refactored nvim config to make it easier and less insanely nested
Diffstat (limited to '.config/nvim/lua/plugins/nvim-lspconfig.lua')
-rw-r--r--.config/nvim/lua/plugins/nvim-lspconfig.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/nvim-lspconfig.lua b/.config/nvim/lua/plugins/nvim-lspconfig.lua
new file mode 100644
index 0000000..1dd0a77
--- /dev/null
+++ b/.config/nvim/lua/plugins/nvim-lspconfig.lua
@@ -0,0 +1,32 @@
+return {
+ -- NOTE: Make sure the order is as follows:
+ -- Mason loads -> Mason lspconfig loads -> Lspconfig loads
+ 'neovim/nvim-lspconfig',
+ event = { 'BufReadPre', 'BufNewFile' },
+ dependencies = {
+ 'hrsh7th/cmp-nvim-lsp',
+ { 'antosha417/nvim-lsp-file-operations', conifg = true },
+ {
+ 'williamboman/mason-lspconfig.nvim',
+ build = ':MasonUpdate',
+ config = function()
+ local language_servers = require('language-servers')
+ local ensure_installed = vim.tbl_filter(function(key)
+ local server = language_servers[key]
+ if type(server) == 'table' then
+ if server.mason ~= nil then
+ return server.mason
+ end
+ return true
+ else
+ return server
+ end
+ end, vim.tbl_keys(language_servers))
+ require('mason-lspconfig').setup({ ensure_installed = ensure_installed, auto_install = true })
+ end,
+ },
+ },
+ config = function()
+ require('lsp')
+ end,
+}