aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform/formatters
diff options
context:
space:
mode:
authorSteven Arcangeli <506791+stevearc@users.noreply.github.com>2024-07-19 08:46:46 -0700
committerGitHub <noreply@github.com>2024-07-19 08:46:46 -0700
commitd60d41c34c9eacf8131685f28532e72f12f21482 (patch)
tree76a0820ccbae7c112ca4dab39882f135b4b0c64a /lua/conform/formatters
parentae213f5169d5d0c6abbe76e1438d932772fc1657 (diff)
parent54ea60d1591486e7e56183addf1f45b03244386d (diff)
Merge pull request #491 from stevearc/stevearc-config-refactor
feat!: large rework of configuration logic
Diffstat (limited to 'lua/conform/formatters')
-rw-r--r--lua/conform/formatters/dcm_format.lua2
-rw-r--r--lua/conform/formatters/injected.lua26
2 files changed, 15 insertions, 13 deletions
diff --git a/lua/conform/formatters/dcm_format.lua b/lua/conform/formatters/dcm_format.lua
index f2af0ac..04adf67 100644
--- a/lua/conform/formatters/dcm_format.lua
+++ b/lua/conform/formatters/dcm_format.lua
@@ -2,7 +2,7 @@
return {
meta = {
url = "https://dcm.dev/docs/cli/formatting/format/",
- description = "Formats *.dart files.",
+ description = "Formats .dart files.",
},
command = "dcm",
args = { "format", "$FILENAME" },
diff --git a/lua/conform/formatters/injected.lua b/lua/conform/formatters/injected.lua
index 4dbf1eb..bd3313b 100644
--- a/lua/conform/formatters/injected.lua
+++ b/lua/conform/formatters/injected.lua
@@ -136,12 +136,6 @@ return {
-- (defaults to the value from formatters_by_ft)
lang_to_formatters = {},
},
- condition = function(self, ctx)
- local ok, parser = pcall(vim.treesitter.get_parser, ctx.buf)
- -- Require Neovim 0.9 because the treesitter API has changed significantly
- ---@diagnostic disable-next-line: invisible
- return ok and parser._injection_query and vim.fn.has("nvim-0.9") == 1
- end,
format = function(self, ctx, lines, callback)
local conform = require("conform")
local errors = require("conform.errors")
@@ -284,13 +278,21 @@ return {
---@type string[]
local formatter_names
if type(ft_formatters) == "function" then
- formatter_names = ft_formatters(ctx.buf)
- else
- local formatters = require("conform").resolve_formatters(ft_formatters, ctx.buf, false)
- formatter_names = vim.tbl_map(function(f)
- return f.name
- end, formatters)
+ ft_formatters = ft_formatters(ctx.buf)
+ end
+ local stop_after_first = ft_formatters.stop_after_first
+ if stop_after_first == nil then
+ stop_after_first = conform.default_format_opts.stop_after_first
end
+ if stop_after_first == nil then
+ stop_after_first = false
+ end
+
+ local formatters =
+ conform.resolve_formatters(ft_formatters, ctx.buf, false, stop_after_first)
+ formatter_names = vim.tbl_map(function(f)
+ return f.name
+ end, formatters)
local idx = num_format
log.debug("Injected format %s:%d:%d: %s", lang, start_lnum, end_lnum, formatter_names)
log.trace("Injected format lines %s", input_lines)