gabrielgio.lua @ ece1b9ec93416683717f4308f62ac154f3e9d045

 1local formatter = require("formatter")
 2local go = require("formatter.filetypes.go")
 3local util = require("formatter.util")
 4
 5local function terraformfmt()
 6	return {
 7		exe = "terraform",
 8		args = {
 9			"fmt",
10			"-",
11		},
12		stdin = true,
13	}
14end
15
16formatter.setup({
17	filetype = {
18		nix = { require("formatter.filetypes.nix").alejandra },
19		lua = { require("formatter.filetypes.lua").stylua },
20		fish = { require("formatter.filetypes.fish").fishindent },
21		javascript = { require("formatter.filetypes.javascript").prettier },
22		css = { require("formatter.filetypes.css").cssbeautify },
23		scss = { require("formatter.filetypes.css").cssbeautify },
24		go = { go.gofumpt, go.goimports },
25		terraform = { terraformfmt },
26		yaml = { require("formatter.filetypes.yaml").yamlfmt },
27	},
28	["*"] = {
29		require("formatter.filetypes.any").remove_trailing_whitespace,
30	},
31})
32
33local augroup = vim.api.nvim_create_augroup
34local autocmd = vim.api.nvim_create_autocmd
35
36augroup("__formatter__", { clear = true })
37autocmd("BufWritePost", {
38	group = "__formatter__",
39	command = ":FormatWrite",
40})