From cddd536e087a9fd3d2c9ea5b0a44e46c7b4b54c2 Mon Sep 17 00:00:00 2001 From: Steven Arcangeli Date: Mon, 28 Aug 2023 18:28:07 -0700 Subject: feat: range formatting Should work the same as vim.lsp.buf.format(). Additionally, range formatting is supported for *any* formatter. If the formatter doesn't have native support for ranges, conform will do its best to only apply the diffs that affect that range. --- lua/conform/formatters/yapf.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lua/conform/formatters/yapf.lua') diff --git a/lua/conform/formatters/yapf.lua b/lua/conform/formatters/yapf.lua index 5d7e866..fc3cfeb 100644 --- a/lua/conform/formatters/yapf.lua +++ b/lua/conform/formatters/yapf.lua @@ -1,4 +1,4 @@ ----@type conform.FormatterConfig +---@type conform.FileFormatterConfig return { meta = { url = "https://github.com/google/yapf", @@ -6,4 +6,7 @@ return { }, command = "yapf", args = { "--quiet" }, + range_args = function(ctx) + return { "--quiet", "--lines", string.format("%d-%d", ctx.range.start[1], ctx.range["end"][1]) } + end, } -- cgit v1.2.3-70-g09d2