Refactor tested language-server configuration with confirmed functionality for each plugin

This commit is contained in:
Daniel McKnight 2025-06-08 22:46:57 -07:00
parent 33588e1afc
commit 857e977aad

View file

@ -1,75 +1,112 @@
return { return {
{ {
"mason-org/mason.nvim", "mason-org/mason.nvim",
tag = "v1.11.0", tag = "v1.11.0",
config = function() config = function()
require("mason").setup({}) require("mason").setup({})
end, end,
}, },
{ {
"mason-org/mason-lspconfig.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim",
tag = "v1.32.0", config = function()
config = function() require("mason-tool-installer").setup({
require("mason-lspconfig").setup({ ensure_installed = {
ensure_installed = { "stylua",
"lua_ls", "mdformat",
"bashls", "hadolint",
"dockerls", "yamllint",
--"gh-actions-language-server", "gh-actions-language-server",
"helm_ls", },
"jsonls", })
"marksman", end,
"nginx_language_server", },
"basedpyright", {
"ruff", "mason-org/mason-lspconfig.nvim",
"yamlls", tag = "v1.32.0",
}, config = function()
}) require("mason-lspconfig").setup({
end, ensure_installed = {
}, "lua_ls",
{ "bashls",
"nvimtools/none-ls.nvim", --"helm_ls",
config = function() "jsonls",
local null_ls = require("null-ls") "nginx_language_server",
null_ls.setup({ "basedpyright",
sources = { "ruff",
null_ls.builtins.formatting.stylua, "yamlls",
null_ls.builtins.formatting.mdformat, },
}, })
}) end,
vim.keymap.set("n", "<leader>af", vim.lsp.buf.format, { desc = "Auto-Format File" }) },
end, {
}, "nvimtools/none-ls.nvim",
{ config = function()
"neovim/nvim-lspconfig", local null_ls = require("null-ls")
tag = "v1.8.0", null_ls.setup({
lazy = true, sources = {
event = { "BufReadPost", "BufNewFile" }, null_ls.builtins.formatting.stylua,
dependencies = { null_ls.builtins.formatting.mdformat,
"mason-org/mason.nvim", null_ls.builtins.diagnostics.hadolint,
"mason-org/mason-lspconfig.nvim", null_ls.builtins.diagnostics.yamllint.with({
}, extra_args = { "-d", "rules:\n document-start: disable" },
config = function() }),
local capabilities = require("cmp_nvim_lsp").default_capabilities() },
local lspconfig = require("lspconfig") })
lspconfig.ts_ls.setup({ vim.keymap.set("n", "<leader>af", vim.lsp.buf.format, { desc = "Auto-Format File" })
capabilities = capabilities, end,
}) },
lspconfig.lua_ls.setup({ capabilities = capabilities }) {
lspconfig.bashls.setup({ capabilities = capabilities }) "neovim/nvim-lspconfig",
lspconfig.dockerls.setup({ capabilities = capabilities }) tag = "v1.8.0",
lspconfig.helm_ls.setup({ capabilities = capabilities }) lazy = true,
lspconfig.jsonls.setup({ capabilities = capabilities }) event = { "BufReadPost", "BufNewFile" },
lspconfig.nginx_language_server.setup({ capabilities = capabilities }) dependencies = {
lspconfig.marksman.setup({ capabilities = capabilities }) "mason-org/mason.nvim",
lspconfig.basedpyright.setup({ capabilities = capabilities }) "mason-org/mason-lspconfig.nvim",
lspconfig.ruff.setup({ "WhoIsSethDaniel/mason-tool-installer.nvim",
capabilities = capabilities, },
}) config = function()
lspconfig.yamlls.setup({ capabilities = capabilities }) local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.keymap.set("n", "<leader>vd", vim.lsp.buf.hover, { desc = "View Docstring" }) local lspconfig = require("lspconfig")
vim.keymap.set("n", "<leader>gt", vim.lsp.buf.definition, { desc = "Go To Definition" }) lspconfig.ts_ls.setup({
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Show Code Actions" }) capabilities = capabilities,
end, })
}, lspconfig.lua_ls.setup({ capabilities = capabilities })
lspconfig.bashls.setup({
capabilities = capabilities,
cmd = { "bash-language-server", "start" },
filetypes = { "sh", "bash" },
})
lspconfig.gh_actions_ls.setup({ capabilities = capabilities })
-- lspconfig.helm_ls.setup({ capabilities = capabilities })
lspconfig.jsonls.setup({ capabilities = capabilities })
lspconfig.basedpyright.setup({
capabilities = capabilities,
settings = {
basedpyright = {
analysis = {
typeCheckingMode = "off",
diagnosticSeverityOverrides = {
reportUnusedImport = false,
reportUnusedVariable = false,
},
},
},
},
})
lspconfig.nginx_language_server.setup({ capabilities = capabilities })
lspconfig.ruff.setup({
capabilities = capabilities,
init_options = {
settings = {
lineLength = 79,
},
},
})
lspconfig.yamlls.setup({ capabilities = capabilities })
vim.keymap.set("n", "<leader>vd", vim.lsp.buf.hover, { desc = "View Docstring" })
vim.keymap.set("n", "<leader>gt", vim.lsp.buf.definition, { desc = "Go To Definition" })
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Show Code Actions" })
end,
},
} }