summaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config/nvim/lua/plugins/null-ls.lua
blob: 8493d1a8ffd75d89a8b7d20356de8e3d3fd2c744 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
local M = {
	"jose-elias-alvarez/null-ls.nvim",
	event = "BufReadPre",
	dependencies = {
		"nvim-lua/plenary.nvim",
		{
			"LostNeophyte/null-ls-embedded",
			config = function()
				require("null-ls").register(require("null-ls-embedded").nls_source)
			end,
		},
	},
}

function M.config()
	local null_ls = require("null-ls")

	null_ls.setup({
		sources = {
			-- Disabled until sorting for code_actions gets pushed. See: https://github.com/stevearc/dressing.nvim/issues/22
			-- null_ls.builtins.code_actions.gitsigns,
			null_ls.builtins.code_actions.gitrebase,
			null_ls.builtins.code_actions.shellcheck.with({
				extra_filetypes = { "PKGBUILD" },
			}),
			null_ls.builtins.code_actions.typos,
			null_ls.builtins.diagnostics.markdownlint.with({
				extra_args = {
					("--config=%s/markdownlint/markdownlint.yaml"):format(vim.env.XDG_CONFIG_HOME),
				},
			}),
			null_ls.builtins.diagnostics.djlint,
			null_ls.builtins.diagnostics.typos,
			null_ls.builtins.formatting.prettier.with({
				disabled_filetypes = { "json", "jsonc" },
				extra_args = { "--prose-wrap=always" },
			}),
			null_ls.builtins.formatting.djlint.with({
				extra_args = { "--indent=2" },
			}),
			null_ls.builtins.formatting.black,
			null_ls.builtins.formatting.stylua,
			null_ls.builtins.formatting.shfmt.with({
				extra_filetypes = { "PKGBUILD" },
			}),
			null_ls.builtins.formatting.nginx_beautifier,
		},
	})
end

return M