feat(nvim): add nixCats-backed language options
check / lint (push) Successful in 16s

This commit is contained in:
hektor committed 2026-11-04 23:51:07 +01:00
1 parent 0d5027edb7
commit 3e377ce637
12 files changed
+410 -199

No files matched your search

@@ -1,29 +1,51 @@
local nixCatsUtils = require("nixCatsUtils")
local formatters = {
general = {
awk = { "awk" },
html = { "prettierd", "prettier", stop_after_first = true },
json = { "prettierd", "prettier", stop_after_first = true },
jsonc = { "prettierd", "prettier", stop_after_first = true },
markdown = { "prettierd", "prettier", stop_after_first = true },
},
c = {
c = { "clang-format" },
cpp = { "clang-format" },
},
css = { css = { "prettierd", "prettier", stop_after_first = true } },
gdscript = { gdscript = { "gdformat" } },
go = { go = { "gofmt" } },
haskell = { haskell = { "ormolu" } },
lua = { lua = { "stylua" } }, -- configured in stylua.toml
nix = { nix = { "nixfmt" } },
python = { python = { "isort", "black" } },
rust = { rust = { "rustfmt", lsp_format = "fallback" } },
shell = { bash = { "shellcheck" } },
svelte = { svelte = { "eslint_d", "prettierd", "prettier", stop_after_first = true } },
typescript = {
javascript = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
javascriptreact = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
typescript = { "eslint_d", "prettierd", "prettier", stop_after_first = true },
typescriptreact = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
},
yaml = {
-- yaml = { "prettierd", "prettier", stop_after_first = true },
},
}
local formatters_by_ft = {}
for language, language_formatters in pairs(formatters) do
if language == "general" or nixCatsUtils.enableForCategory("languages." .. language) then
for ft, ft_formatters in pairs(language_formatters) do
formatters_by_ft[ft] = ft_formatters
end
end
end
require("conform").setup({
format_after_save = {
lsp_format = "never",
timeout_ms = 500,
},
formatters_by_ft = {
awk = { "awk" },
bash = { "shellcheck" },
c = { "clang-format" },
cpp = { "clang-format" },
css = { "prettierd", "prettier", stop_after_first = true },
gdscript = { "gdformat" },
haskell = { "ormolu" },
html = { "prettierd", "prettier", stop_after_first = true },
javascript = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
javascriptreact = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
json = { "prettierd", "prettier", stop_after_first = true },
jsonc = { "prettierd", "prettier", stop_after_first = true },
lua = { "stylua" }, -- configured in stylua.toml
markdown = { "prettierd", "prettier", stop_after_first = true },
nix = { "nixfmt" },
python = { "isort", "black" },
rust = { "rustfmt", lsp_format = "fallback" },
svelte = { "eslint_d", "prettierd", "prettier", stop_after_first = true },
typescript = { "eslint_d", "prettierd", "prettier", stop_after_first = true },
typescriptreact = { "eslint_d", "eslint", "prettierd", "prettier", stop_after_first = true },
-- yaml = { "prettierd", "prettier", stop_after_first = true },
},
formatters_by_ft = formatters_by_ft,
})