Skip to content

Commit

Permalink
feat: improve the logic for save_fold_end_line again
Browse files Browse the repository at this point in the history
  • Loading branch information
gh-liu committed Aug 22, 2024
1 parent dbac03b commit a09e58d
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lua/fold_line/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ local function on_win(_, winid, bufnr, toprow, botrow)
if fold_end_infos[fold_info.start][i_level] then
return
end
if i_level <= fold_info.llevel and i_level <= fold_info.level then
if fold_info.llevel <= i_level and i_level <= fold_info.level then
fold_end_infos[fold_info.start][i_level] = cur_line
end
end
Expand Down
51 changes: 51 additions & 0 deletions tests/screenshots/tests-test_fold_line.lua---__test_010
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
--|---------|---------|---------|---------|---------|---------|---------|---------|
01|┌old
02|│ fold
03|│ ┌fold
04|│ │ ┌ ┌fold
05|│ │ │ │ ┌fold
06|│ │ │ │ │ fold
07|│ │ │ │ │ fold
08|│ │ │ │ │ fold
09|│ │ │ └ └fold
10|│ │ │ ┌fold
11|│ │ │ │ ┌fold
12|│ │ │ │ │ fold
13|│ │ │ │ │ fold
14|│ │ │ │ │ fold
15|│ │ │ │ └fold
16|│ │ │ │ fold
17|│ │ └ └fold
18|│ └fold
19|└old
20|~
21|~
22|~
23|tests/testcases/test_010.txt 4,1-8 All
24|

--|---------|---------|---------|---------|---------|---------|---------|---------|
01|01111111111111111111111111111111111111111111111111111111111111111111111111111111
02|01111111111111111111111111111111111111111111111111111111111111111111111111111111
03|01111110111111111111111111111111111111111111111111111111111111111111111111111111
04|01111110101111121111111111111111111111111111111111111111111111111111111111111111
05|01111110101111121111111011111111111111111111111111111111111111111111111111111111
06|01111110101111121111111011111111111111111111111111111111111111111111111111111111
07|01111110101111121111111011111111111111111111111111111111111111111111111111111111
08|01111110101111121111111011111111111111111111111111111111111111111111111111111111
09|01111110101111121111111011111111111111111111111111111111111111111111111111111111
10|01111110101111101111111111111111111111111111111111111111111111111111111111111111
11|01111110101111101111111011111111111111111111111111111111111111111111111111111111
12|01111110101111101111111011111111111111111111111111111111111111111111111111111111
13|01111110101111101111111011111111111111111111111111111111111111111111111111111111
14|01111110101111101111111011111111111111111111111111111111111111111111111111111111
15|01111110101111101111111011111111111111111111111111111111111111111111111111111111
16|01111110101111101111111111111111111111111111111111111111111111111111111111111111
17|01111110101111101111111111111111111111111111111111111111111111111111111111111111
18|01111110111111111111111111111111111111111111111111111111111111111111111111111111
19|01111111111111111111111111111111111111111111111111111111111111111111111111111111
20|22222222222222222222222222222222222222222222222222222222222222222222222222222222
21|22222222222222222222222222222222222222222222222222222222222222222222222222222222
22|22222222222222222222222222222222222222222222222222222222222222222222222222222222
23|33333333333333333333333333333333333333333333333333333333333333333333333333333333
24|11111111111111111111111111111111111111111111111111111111111111111111111111111111
19 changes: 19 additions & 0 deletions tests/testcases/test_010.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
fold
30 changes: 30 additions & 0 deletions tests/testcases/test_010.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=99
setlocal fml=1
setlocal fdn=20
setlocal fen
silent! normal! zE
5,9fold
4,9fold
11,15fold
10,17fold
4,17fold
3,18fold
1,19fold
let &fdl = &fdl
1
normal! zo
3
normal! zo
4
normal! zo
4
normal! zo
10
normal! zo

keepjumps 4
" vim: set ft=vim :

0 comments on commit a09e58d

Please sign in to comment.