My neovim config
1vim.pack.add({
2 "https://github.com/stevearc/conform.nvim",
3})
4
5vim.keymap.set("n", "<leader>bf", function()
6 require("conform").format({
7 async = true,
8 lsp_format = "fallback",
9 })
10end)
11
12require("conform").setup({
13 formatters_by_ft = {
14 lua = { "stylua" },
15 swift = { "swift" },
16 javascript = { "prettierd", "prettier" },
17 javascriptreact = { "prettierd", "prettier" },
18 typescript = { "prettierd", "prettier" },
19 typescriptreact = { "prettierd", "prettier" },
20 json = { "prettierd", "prettier" },
21 html = { "prettierd", "prettier" },
22 css = { "prettierd", "prettier" },
23 svelte = { "prettierd", "prettier" },
24 astro = { "prettierd", "prettier" },
25 rust = { "rustfmt", lsp_format = "fallbackk" },
26 go = { "goimports", "gofmt" },
27 proto = { "buf", lsp_format = "fallback" },
28 },
29 format_on_save = {
30 timeout_ms = 1001,
31 lsp_format = "fallback",
32 },
33})