dotfiles/.config/nvim/lua/plugins/language-server.lua
2025-06-03 09:23:15 -07:00

65 lines
1.8 KiB
Lua

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",
"marksman",
"nginx_language_server",
"ruff",
"yamlls",
},
})
end,
},
{
"nvimtools/none-ls.nvim",
config = function()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.mdformat,
},
})
vim.keymap.set("n", "<leader>af", vim.lsp.buf.format, { desc = "Auto-Format File" })
end,
},
{
"neovim/nvim-lspconfig",
tag = "v1.8.0",
config = function()
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lspconfig = require("lspconfig")
lspconfig.ts_ls.setup({
capabilities = capabilities,
})
lspconfig.lua_ls.setup({ capabilities = capabilities })
lspconfig.bashls.setup({ capabilities = capabilities })
lspconfig.dockerls.setup({ capabilities = capabilities })
lspconfig.helm_ls.setup({ capabilities = capabilities })
lspconfig.jsonls.setup({ capabilities = capabilities })
lspconfig.nginx_language_server.setup({ capabilities = capabilities })
lspconfig.marksman.setup({ capabilities = capabilities })
lspconfig.ruff.setup({ capabilities = capabilities })
lspconfig.yamlls.setup({ capabilities = capabilities })
vim.keymap.set("n", "<leader>d", vim.lsp.buf.hover, { desc = "Show 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,
},
}