mirror of
https://github.com/neovim/neovim.git
synced 2026-07-31 12:49:11 +00:00
fix(text): indent() ignores expandtab when indent unchanged #40932
Problem: After expanding tabs with the `expandtab` option, if the old indent matches the requested one, `vim.text.indent()` returns the input unchanged. The optimization path assumes that if old_indent == size, the input wouldn't be changed, which is not correct when old_indent is formed by expanded tabs. Solution: Apply the optimization only when `expandtab` is not set.
This commit is contained in:
@@ -190,7 +190,7 @@ function M.indent(size, text, opts)
|
||||
old_indent = old_indent or 0
|
||||
prefix = prefix and prefix or ' '
|
||||
|
||||
if old_indent == size then
|
||||
if not opts.expandtab and old_indent == size then
|
||||
-- Optimization: if the indent is the same, return the text unchanged.
|
||||
return text, old_indent
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user