Support shiftwidth=0 in indent and fold

With shiftwidth=0, Vim uses the value of tabstop, but &sw is 0. So
multiline tags and brackets got wrong indent, and fold levels were wrong
as indent was divided by 0. Use shiftwidth() instead, which is the same
as &sw when it isn't 0.
This commit is contained in:
leafOfTree committed 2026-10-21 12:11:58 +00:00
1 parent ee1a608c40
commit abb7144824
4 files changed
+50 -15

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
" shiftwidth=0 uses the value of tabstop, same as shiftwidth=4 here
set shiftwidth=0 tabstop=4
let g:vim_vue_plugin_config = {'foldexpr': 1}
let g:test_flatten = 1
function! Check()
let levels = [1, 2, 3, 2, 3, 4, 3, 3, 2, 1]
for lnum in range(1, len(levels))
call ExpectFoldlevel(lnum, levels[lnum - 1])
endfor
endfunction