aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform/formatters/injected.lua
diff options
context:
space:
mode:
authorSteven Arcangeli <stevearc@stevearc.com>2023-11-04 13:24:48 -0700
committerSteven Arcangeli <stevearc@stevearc.com>2023-11-04 13:31:35 -0700
commit0bbe83830be5a07a1161bb1a23d7280310656177 (patch)
treec08a901c6ace758e9cfcaff49f5ba78837f79e40 /lua/conform/formatters/injected.lua
parent893b139e6dcdb55dee4c98215d9217d3a1ec69eb (diff)
feat: allow formatters_by_ft to be a function (#174)
Diffstat (limited to 'lua/conform/formatters/injected.lua')
-rw-r--r--lua/conform/formatters/injected.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/lua/conform/formatters/injected.lua b/lua/conform/formatters/injected.lua
index 21a9830..7028a8b 100644
--- a/lua/conform/formatters/injected.lua
+++ b/lua/conform/formatters/injected.lua
@@ -170,7 +170,13 @@ return {
num_format = num_format + 1
last_start_lnum = start_lnum
local input_lines = util.tbl_slice(lines, start_lnum, end_lnum)
- local formatter_names = conform.formatters_by_ft[lang]
+ local ft_formatters = conform.formatters_by_ft[lang]
+ local formatter_names
+ if type(ft_formatters) == "function" then
+ formatter_names = ft_formatters(ctx.buf)
+ else
+ formatter_names = require("conform").resolve_formatters(ft_formatters, ctx.buf, false)
+ end
local format_opts = { async = true, bufnr = ctx.buf, quiet = true }
local idx = num_format
log.debug("Injected format %s:%d:%d: %s", lang, start_lnum, end_lnum, formatter_names)