From be1fbe38b31b6046d396407c4efbf238941c6b08 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Fri, 21 Feb 2025 02:02:32 +0100 Subject: feat(lua): vim.text.indent() Problem: Indenting text is a common task in plugins/scripts for presentation/formatting, yet vim has no way of doing it (especially "dedent", and especially non-buffer text). Solution: Introduce `vim.text.indent()`. It sets the *exact* indentation because that's a more difficult (and thus more useful) task than merely "increasing the current indent" (which is somewhat easy with a `gsub()` one-liner). --- test/functional/editor/fold_spec.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'test/functional/editor') diff --git a/test/functional/editor/fold_spec.lua b/test/functional/editor/fold_spec.lua index ee3f268a2a..2198a974f6 100644 --- a/test/functional/editor/fold_spec.lua +++ b/test/functional/editor/fold_spec.lua @@ -496,10 +496,12 @@ a]], it("fdm=indent doesn't open folds when inserting lower foldlevel line", function() insert([[ - insert an unindented line under this line - keep the lines under this line folded - keep this line folded 1 - keep this line folded 2 + insert an unindented line under this line + keep the lines under this line folded + keep this line folded 1 + keep this line folded 2 + + . ]]) command('set foldmethod=indent shiftwidth=2 noautoindent') eq(1, fn.foldlevel(1)) -- cgit