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 ["lua"] = { "stylua" },
9 ["fish"] = { "fish_indent" },
10 ["sh"] = { "shfmt" },
11 ["javascript"] = { "prettierd" },
12 ["javascriptreact"] = { "prettierd" },
13 ["typescript"] = { "prettierd" },
14 ["typescriptreact"] = { "prettierd" },
15 ["vue"] = { "prettierd" },
16 ["css"] = { "prettierd" },
17 ["scss"] = { "prettierd" },
18 ["less"] = { "prettierd" },
19 ["html"] = { "prettierd" },
20 ["json"] = { "jq" },
21 ["jsonc"] = { "prettierd" },
22 ["yaml"] = { "prettierd" },
23 ["markdown"] = { "prettierd" },
24 ["markdown.mdx"] = { "prettierd" },
25 ["graphql"] = { "prettierd" },
26 ["handlebars"] = { "prettierd" },
27 ["nix"] = { "nixfmt" },
28 ["swift"] = { "swiftformat" },
29 ["rust"] = { "rustfmt", lsp_format = "fallback" },
30 ["janet"] = { "janet_format" },
31 ["kotlin"] = { "ktfmt" },
32 },
33 formatters = {
34 injected = { options = { ignore_errors = true } },
35 prettierd = {
36 env = {
37 -- FIXME: this doesn't work for some reason
38 PRETTIERD_DEFAULT_CONFIG = vim.api.nvim_get_runtime_file("externals/prettier/prettierrc.json", false)[1],
39 },
40 },
41 janet_format = {
42 command = "janet-format",
43 },
44 },
45})