neovim configuration using rocks.nvim plugin manager
1require("conform").setup({
2 format = {
3 timeout_ms = 3000,
4 async = false,
5 quiet = false,
6 },
7 formatters_by_ft = {
8 ["c"] = { "clang-format" },
9 ["lua"] = { "stylua" },
10 ["fish"] = { "fish_indent" },
11 ["sh"] = { "shfmt" },
12 ["javascript"] = { "prettierd" },
13 ["javascriptreact"] = { "prettierd" },
14 ["typescript"] = { "prettierd" },
15 ["typescriptreact"] = { "prettierd" },
16 ["vue"] = { "prettierd" },
17 ["css"] = { "prettierd" },
18 ["scss"] = { "prettierd" },
19 ["less"] = { "prettierd" },
20 ["html"] = { "prettierd" },
21 ["json"] = { "jq" },
22 ["jsonc"] = { "prettierd" },
23 ["yaml"] = { "prettierd" },
24 ["markdown"] = { "prettierd" },
25 ["markdown.mdx"] = { "prettierd" },
26 ["graphql"] = { "prettierd" },
27 ["handlebars"] = { "prettierd" },
28 ["nix"] = { "nixfmt" },
29 ["swift"] = { "swiftformat" },
30 ["rust"] = { "rustfmt", lsp_format = "fallback" },
31 ["janet"] = { "janet_format" },
32 ["kotlin"] = { "ktfmt" },
33 },
34 formatters = {
35 injected = { options = { ignore_errors = true } },
36 prettierd = {
37 env = {
38 -- FIXME: this doesn't work for some reason
39 PRETTIERD_DEFAULT_CONFIG = vim.api.nvim_get_runtime_file("externals/prettier/prettierrc.json", false)[1],
40 },
41 },
42 janet_format = {
43 command = "janet-format",
44 },
45 },
46})