summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Arcangeli <stevearc@stevearc.com>2023-11-18 00:40:15 -0800
committerSteven Arcangeli <stevearc@stevearc.com>2023-11-18 00:40:15 -0800
commita36c68d2cd551e49883ddb2492c178d915567f58 (patch)
treec8636a4272962cc8c1841452ce783e2d3ddaab76
parenteeef88849fb644d84a5856524adf10d0ad2d7cbe (diff)
fix: range format method for async formatters and injected
-rw-r--r--lua/conform/formatters/injected.lua3
-rw-r--r--lua/conform/runner.lua10
2 files changed, 11 insertions, 2 deletions
diff --git a/lua/conform/formatters/injected.lua b/lua/conform/formatters/injected.lua
index edc2c66..b3d80a9 100644
--- a/lua/conform/formatters/injected.lua
+++ b/lua/conform/formatters/injected.lua
@@ -239,4 +239,7 @@ return {
apply_format_results()
end
end,
+ -- TODO this is kind of a hack. It's here to ensure all_support_range_formatting is set properly.
+ -- Should figure out a better way to do this.
+ range_args = true,
}
diff --git a/lua/conform/runner.lua b/lua/conform/runner.lua
index 4b166a9..9571588 100644
--- a/lua/conform/runner.lua
+++ b/lua/conform/runner.lua
@@ -48,6 +48,12 @@ M.build_cmd = function(ctx, config)
end
end
+---@param value any
+---@return boolean
+local function truthy(value)
+ return value ~= nil and value ~= false
+end
+
---@param range conform.Range
---@param start_a integer
---@param end_a integer
@@ -506,9 +512,9 @@ M.format_lines_async = function(bufnr, formatters, range, input_lines, opts, cal
final_err = errors.coalesce(final_err, err)
end
input_lines = output or input_lines
+ all_support_range_formatting = all_support_range_formatting and truthy(config.range_args)
run_next_formatter()
end)
- all_support_range_formatting = all_support_range_formatting and config.range_args ~= nil
end
run_next_formatter()
end
@@ -584,7 +590,7 @@ M.format_lines_sync = function(bufnr, formatters, timeout_ms, range, input_lines
result = output
end
)
- all_support_range_formatting = all_support_range_formatting and config.range_args ~= nil
+ all_support_range_formatting = all_support_range_formatting and truthy(config.range_args)
local wait_result, wait_reason = vim.wait(remaining, function()
return done