mirror of
https://github.com/neovim/neovim.git
synced 2026-04-21 14:55:33 +00:00
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).
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user