38 lines
1.1 KiB
Lua
38 lines
1.1 KiB
Lua
local M = {
|
|
"jose-elias-alvarez/null-ls.nvim",
|
|
}
|
|
|
|
function M.setup(options)
|
|
local null_ls = require("null-ls")
|
|
null_ls.setup({
|
|
debug = false,
|
|
sources = {
|
|
null_ls.builtins.code_actions.gitsigns,
|
|
null_ls.builtins.code_actions.gomodifytags,
|
|
null_ls.builtins.formatting.goimports,
|
|
null_ls.builtins.formatting.gofmt,
|
|
-- null_ls.builtins.diagnostics.cspell,
|
|
null_ls.builtins.formatting.prettier.with({
|
|
extra_filetypes = { "toml" },
|
|
extra_args = { "--no-semi" },
|
|
}),
|
|
null_ls.builtins.formatting.black.with({ extra_args = { "--fast" } }),
|
|
null_ls.builtins.formatting.ruff,
|
|
null_ls.builtins.formatting.stylua.with({
|
|
extra_args = { "--indent-type", "Spaces", "--indent-width", "2" },
|
|
}),
|
|
},
|
|
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
|
|
|