diff options
| author | Artem Krinitsyn <arkriny@arkriny.com> | 2026-07-26 13:24:39 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-26 06:24:39 -0400 |
| commit | dec3d8215dfa5d1ffd3a7d1d06559290db3cffcf (patch) | |
| tree | 6dd1d39d61615b1b34c27d6c0799b003f3eb7186 /test/functional/lua/text_spec.lua | |
| parent | 6539bd66028524412655f55a0e8f00f58d3bac97 (diff) | |
| download | rneovim-dec3d8215dfa5d1ffd3a7d1d06559290db3cffcf.tar.gz rneovim-dec3d8215dfa5d1ffd3a7d1d06559290db3cffcf.tar.bz2 rneovim-dec3d8215dfa5d1ffd3a7d1d06559290db3cffcf.zip | |
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.
Diffstat (limited to 'test/functional/lua/text_spec.lua')
| -rw-r--r-- | test/functional/lua/text_spec.lua | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/functional/lua/text_spec.lua b/test/functional/lua/text_spec.lua index a4a41dc862..9e80f81bc5 100644 --- a/test/functional/lua/text_spec.lua +++ b/test/functional/lua/text_spec.lua @@ -47,6 +47,8 @@ describe('vim.text', function() { ' \n \nfoo\n\nbar\nbaz\n \n', 1 }, { vim.text.indent(0, ' \n \n foo\n\n bar\n baz\n \n') } ) + -- Tabs expand when old indent matches new indent #40932. + eq({ ' a', 2 }, { vim.text.indent(2, '\t a', { expandtab = 1 }) }) end) it('real-world cases', function() |