From 4c6272e43ee1be552acdb66ab9c6eb8b5aafaea4 Mon Sep 17 00:00:00 2001 From: Daniel McKnight Date: Mon, 19 May 2025 21:21:33 -0700 Subject: [PATCH] Add mason, none-ls, and lspconfig for LSP support --- nvim/lua/plugins/mason.lua | 28 ++++++++++++++++++++++++++++ nvim/lua/plugins/none-ls.lua | 12 ++++++++++++ nvim/lua/plugins/nvim-lspconfig.lua | 18 ++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 nvim/lua/plugins/mason.lua create mode 100644 nvim/lua/plugins/none-ls.lua create mode 100644 nvim/lua/plugins/nvim-lspconfig.lua diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..f4ea5d3 --- /dev/null +++ b/nvim/lua/plugins/mason.lua @@ -0,0 +1,28 @@ +return { + { + "mason-org/mason.nvim", + tag = "v1.11.0", + config = function() + require("mason").setup({}) + end, + }, + { + "mason-org/mason-lspconfig.nvim", + tag = "v1.32.0", + config = function() + require("mason-lspconfig").setup({ + ensure_installed = { + "lua_ls", + "bashls", + "dockerls", + -- "gh-actions-language-server", + "helm_ls", + "jsonls", + "nginx_language_server", + "ruff", + "yamlls", + }, + }) + end, + }, +} diff --git a/nvim/lua/plugins/none-ls.lua b/nvim/lua/plugins/none-ls.lua new file mode 100644 index 0000000..2c3f664 --- /dev/null +++ b/nvim/lua/plugins/none-ls.lua @@ -0,0 +1,12 @@ +return { + "nvimtools/none-ls.nvim", + config = function() + local null_ls = require("null-ls") + null_ls.setup({ + sources = { + null_ls.builtins.formatting.stylua, + }, + }) + vim.keymap.set("n", "af", vim.lsp.buf.format, {}) + end, +} diff --git a/nvim/lua/plugins/nvim-lspconfig.lua b/nvim/lua/plugins/nvim-lspconfig.lua new file mode 100644 index 0000000..de26634 --- /dev/null +++ b/nvim/lua/plugins/nvim-lspconfig.lua @@ -0,0 +1,18 @@ +return { + "neovim/nvim-lspconfig", + tag="v1.8.0", + config = function() + local lspconfig = require("lspconfig") + lspconfig.lua_ls.setup({}) + lspconfig.bashls.setup({}) + lspconfig.dockerls.setup({}) + lspconfig.helm_ls.setup({}) + lspconfig.jsonls.setup({}) + lspconfig.nginx_language_server.setup({}) + lspconfig.ruff.setup({}) + lspconfig.yamlls.setup({}) + vim.keymap.set('n', 'd', vim.lsp.buf.hover, {}) + vim.keymap.set('n', 'gt', vim.lsp.buf.definition, {}) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, {}) + end +}