/
null-ls.lua
44 lines (41 loc) · 1.35 KB
/
null-ls.lua
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
local M = {
"jose-elias-alvarez/null-ls.nvim",
}
function M.setup(options)
local nls = require("null-ls")
nls.setup({
debounce = 150,
save_after_format = false,
sources = {
-- nls.builtins.formatting.prettierd,
nls.builtins.formatting.stylua,
nls.builtins.formatting.fish_indent,
-- nls.builtins.formatting.fixjson.with({ filetypes = { "jsonc" } }),
-- nls.builtins.formatting.eslint_d,
-- nls.builtins.diagnostics.shellcheck,
nls.builtins.formatting.shfmt,
nls.builtins.diagnostics.markdownlint,
-- nls.builtins.diagnostics.luacheck,
nls.builtins.formatting.prettierd.with({
filetypes = { "markdown" }, -- only runs `deno fmt` for markdown
}),
nls.builtins.diagnostics.selene.with({
condition = function(utils)
return utils.root_has_file({ "selene.toml" })
end,
}),
-- nls.builtins.code_actions.gitsigns,
nls.builtins.formatting.isort,
nls.builtins.formatting.black,
nls.builtins.diagnostics.flake8,
},
on_attach = options.on_attach,
root_dir = require("null-ls.utils").root_pattern(".null-ls-root", ".neoconf.json", ".git"),
})
end
function M.has_formatter(ft)
local sources = require("null-ls.sources")
local available = sources.get_available(ft, "NULL_LS_FORMATTING")
return #available > 0
end
return M