From a36c68d2cd551e49883ddb2492c178d915567f58 Mon Sep 17 00:00:00 2001 From: Steven Arcangeli Date: Sat, 18 Nov 2023 00:40:15 -0800 Subject: fix: range format method for async formatters and injected --- lua/conform/formatters/injected.lua | 3 +++ lua/conform/runner.lua | 10 ++++++++-- 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 -- cgit v1.2.3-70-g09d2