| 
									
										
										
										
											2025-06-01 20:22:28 -07:00
										 |  |  | return { | 
					
						
							| 
									
										
										
										
											2025-06-26 11:42:47 -07:00
										 |  |  | 	{ | 
					
						
							|  |  |  | 		"mason-org/mason.nvim", | 
					
						
							|  |  |  | 		tag = "v1.11.0", | 
					
						
							|  |  |  | 		config = function() | 
					
						
							|  |  |  | 			require("mason").setup({}) | 
					
						
							|  |  |  | 		end, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		"WhoIsSethDaniel/mason-tool-installer.nvim", | 
					
						
							|  |  |  | 		config = function() | 
					
						
							|  |  |  | 			require("mason-tool-installer").setup({ | 
					
						
							|  |  |  | 				ensure_installed = { | 
					
						
							|  |  |  | 					"stylua", | 
					
						
							|  |  |  | 					"mdformat", | 
					
						
							|  |  |  | 					"hadolint", | 
					
						
							|  |  |  | 					"yamllint", | 
					
						
							|  |  |  | 					"gh-actions-language-server", | 
					
						
							|  |  |  | 					"ansible-language-server", | 
					
						
							|  |  |  | 					"ansible-lint", | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 			}) | 
					
						
							|  |  |  | 		end, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		"mason-org/mason-lspconfig.nvim", | 
					
						
							|  |  |  | 		tag = "v1.32.0", | 
					
						
							|  |  |  | 		config = function() | 
					
						
							|  |  |  | 			require("mason-lspconfig").setup({ | 
					
						
							|  |  |  | 				ensure_installed = { | 
					
						
							|  |  |  | 					"lua_ls", | 
					
						
							|  |  |  | 					"bashls", | 
					
						
							|  |  |  | 					"helm_ls", | 
					
						
							|  |  |  | 					"jsonls", | 
					
						
							|  |  |  | 					"nginx_language_server", | 
					
						
							|  |  |  | 					"basedpyright", | 
					
						
							|  |  |  | 					"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, | 
					
						
							|  |  |  | 					null_ls.builtins.diagnostics.hadolint, | 
					
						
							|  |  |  | 					null_ls.builtins.diagnostics.yamllint.with({ | 
					
						
							|  |  |  | 						extra_args = { "-d", "rules:\n  document-start: disable" }, | 
					
						
							|  |  |  | 					}), | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 			}) | 
					
						
							|  |  |  | 			vim.keymap.set("n", "<leader>af", vim.lsp.buf.format, { desc = "Auto-Format File" }) | 
					
						
							|  |  |  | 		end, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		"qvalentin/helm-ls.nvim", | 
					
						
							|  |  |  | 		ft = "helm", | 
					
						
							|  |  |  | 		opts = { | 
					
						
							|  |  |  | 			conceal_templates = { enabled = true }, | 
					
						
							|  |  |  | 			indent_hints = { enabled = true }, | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 		{ "neovim/nvim-lspconfig", event = { "BufReadPre", "BufNewFile", "BufEnter" } }, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		"neovim/nvim-lspconfig", | 
					
						
							|  |  |  | 		tag = "v1.8.0", | 
					
						
							|  |  |  | 		lazy = true, | 
					
						
							|  |  |  | 		event = { "BufReadPost", "BufNewFile" }, | 
					
						
							|  |  |  | 		dependencies = { | 
					
						
							|  |  |  | 			"mason-org/mason.nvim", | 
					
						
							|  |  |  | 			"mason-org/mason-lspconfig.nvim", | 
					
						
							|  |  |  | 			"WhoIsSethDaniel/mason-tool-installer.nvim", | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 		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, | 
					
						
							|  |  |  | 				cmd = { "bash-language-server", "start" }, | 
					
						
							|  |  |  | 				filetypes = { "sh", "bash" }, | 
					
						
							|  |  |  | 			}) | 
					
						
							|  |  |  | 			lspconfig.gh_actions_ls.setup({ capabilities = capabilities }) | 
					
						
							|  |  |  | 			lspconfig.helm_ls.setup({ | 
					
						
							|  |  |  | 				capabilities = capabilities, | 
					
						
							|  |  |  | 				-- filetypes = { "tpl", "helm" }, | 
					
						
							|  |  |  | 				settings = { | 
					
						
							|  |  |  | 					["helm_ls"] = { | 
					
						
							|  |  |  | 						yamlls = { | 
					
						
							|  |  |  | 							path = "yaml-language-server", | 
					
						
							|  |  |  | 						}, | 
					
						
							|  |  |  | 					}, | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 			}) | 
					
						
							|  |  |  | 			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, | 
					
						
							|  |  |  | 			}) | 
					
						
							|  |  |  | 			lspconfig.ansiblels.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" }) | 
					
						
							|  |  |  | 			vim.keymap.set("n", "<leader>cr", vim.lsp.buf.rename, { desc = "Refactor Name" }) | 
					
						
							|  |  |  | 			vim.keymap.set("n", "<leader>vr", vim.lsp.buf.references, { desc = "View References" }) | 
					
						
							|  |  |  | 			vim.keymap.set("n", "<leader>pp", vim.diagnostic.goto_prev, { desc = "Previous Issue" }) | 
					
						
							|  |  |  | 			vim.keymap.set("n", "<leader>pn", vim.diagnostic.goto_next, { desc = "Next Issue" }) | 
					
						
							|  |  |  | 		end, | 
					
						
							|  |  |  | 	}, | 
					
						
							| 
									
										
										
										
											2025-06-01 20:22:28 -07:00
										 |  |  | } |