kickstart.nvim/lua/custom/plugins/null-ls.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