aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/screen.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2025-02-21 02:02:32 +0100
committerJustin M. Keyes <justinkz@gmail.com>2025-02-26 23:06:22 +0100
commitbe1fbe38b31b6046d396407c4efbf238941c6b08 (patch)
tree697a429f5ac903d766c2faaf5044fa7a16eeea77 /test/functional/ui/screen.lua
parentf4921e2b7deb4812414998a521c33f920f571c20 (diff)
downloadrneovim-be1fbe38b31b6046d396407c4efbf238941c6b08.tar.gz
rneovim-be1fbe38b31b6046d396407c4efbf238941c6b08.tar.bz2
rneovim-be1fbe38b31b6046d396407c4efbf238941c6b08.zip
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).
Diffstat (limited to 'test/functional/ui/screen.lua')
-rw-r--r--test/functional/ui/screen.lua5
1 files changed, 2 insertions, 3 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index 934b4e9032..adc3080586 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -494,9 +494,8 @@ function Screen:expect(expected, attr_ids, ...)
local expected_rows = {} --- @type string[]
if grid then
- -- Remove the last line and dedent. Note that gsub returns more then one
- -- value.
- grid = dedent(grid:gsub('\n[ ]+$', ''), 0)
+ -- Dedent (ignores last line if it is blank).
+ grid = dedent(grid, 0)
for row in grid:gmatch('[^\n]+') do
table.insert(expected_rows, row)
end