summaryrefslogtreecommitdiff
path: root/lua/bee/format.lua
blob: c8d121467445dca40c09e2209bcc77d07d898e4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
return {
	"conform.nvim",
	auto_enable = true,
	event = "FileType",
	keys = {
		{ "<leader>lf", desc = "[F]ormat [F]ile" },
	},
	after = function(_)
		local conform = require("conform")
		conform.setup({
			format_on_save = {
				timeout_ms = 1000,
				lsp_format = "fallback",
				quiet = true,
			},
			formatters_by_ft = {
				lua = { "stylua" },
				nix = { "nixfmt" },
				c = { "clang_format" },
				cpp = { "clang_format" },
				cmake = { "cmake_format" },
				-- Use a sub-list to run only the first available formatter
				javascript = { { "prettierd", "prettier" } },
			},
		})

		vim.keymap.set({ "n", "v" }, "<leader>lf", function()
			conform.format({
				lsp_fallback = true,
				async = false,
				timeout_ms = 1000,
			})
		end, { desc = "[L]anguage [F]ormat" })
	end,
}