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. --- tests/options_doc.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests/options_doc.lua') diff --git a/tests/options_doc.lua b/tests/options_doc.lua index 4360b92..6b215c2 100644 --- a/tests/options_doc.lua +++ b/tests/options_doc.lua @@ -30,6 +30,10 @@ require("conform").setup({ -- OPTIONAL - all fields below this are optional -- A list of strings, or a function that returns a list of strings args = { "--stdin-from-filename", "$FILENAME" }, + -- If the formatter supports range formatting, create the range arguments here + range_args = function(ctx) + return { "--line-start", ctx.range.start[1], "--line-end", ctx.range["end"][1] } + end, -- Send file contents to stdin, read new contents from stdout (default true) -- When false, will create a temp file (will appear in "$FILENAME" args). The temp -- file is assumed to be modified in-place by the format command. -- cgit v1.2.3-70-g09d2