mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
vim-patch:9.0.1078: with the +vartabs feature indent folding may use wrong 'ts'
Problem: With the +vartabs feature indent folding may use wrong 'tabstop'.
Solution: Use the "buf" argument instead of "curbuf".
07146ad1d3
This commit is contained in:
@@ -378,7 +378,7 @@ int get_indent_lnum(linenr_T lnum)
|
|||||||
int get_indent_buf(buf_T *buf, linenr_T lnum)
|
int get_indent_buf(buf_T *buf, linenr_T lnum)
|
||||||
{
|
{
|
||||||
return get_indent_str_vtab(ml_get_buf(buf, lnum, false),
|
return get_indent_str_vtab(ml_get_buf(buf, lnum, false),
|
||||||
curbuf->b_p_ts,
|
buf->b_p_ts,
|
||||||
buf->b_p_vts_array,
|
buf->b_p_vts_array,
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
@@ -157,6 +157,27 @@ func Test_indent_fold_max()
|
|||||||
bw!
|
bw!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_indent_fold_tabstop()
|
||||||
|
call setline(1, ['0', ' 1', ' 1', "\t2", "\t2"])
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
setlocal foldcolumn=1
|
||||||
|
setlocal foldlevel=2
|
||||||
|
setlocal foldmethod=indent
|
||||||
|
redraw
|
||||||
|
call assert_equal('2 2', ScreenLines(5, 10)[0])
|
||||||
|
vsplit
|
||||||
|
windo diffthis
|
||||||
|
botright new
|
||||||
|
" This 'tabstop' value should not be used for folding in other buffers.
|
||||||
|
setlocal tabstop=4
|
||||||
|
diffoff!
|
||||||
|
redraw
|
||||||
|
call assert_equal('2 2', ScreenLines(5, 10)[0])
|
||||||
|
|
||||||
|
bwipe!
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_manual_fold_with_filter()
|
func Test_manual_fold_with_filter()
|
||||||
CheckExecutable cat
|
CheckExecutable cat
|
||||||
for type in ['manual', 'marker']
|
for type in ['manual', 'marker']
|
||||||
|
Reference in New Issue
Block a user