diff --git a/autoload/vimtex/fold/markers.vim b/autoload/vimtex/fold/markers.vim index ecef7347b41..0ea255f392f 100644 --- a/autoload/vimtex/fold/markers.vim +++ b/autoload/vimtex/fold/markers.vim @@ -34,12 +34,18 @@ endfunction " }}}1 function! s:folder.level(line, lnum) abort dict " {{{1 - if a:line =~# self.re.start + let l:start = matchlist(a:line, self.re.start .. '\(\d\?\)') + let l:end = matchlist(a:line, self.re.end .. '\(\d\?\)') + if !empty(l:start) + return empty(l:start[1]) + \ ? 'a1' + \ : '>' .. l:start[1] let self.opened = 1 - return 'a1' - elseif a:line =~# self.re.end + elseif !empty(l:end) + return empty(l:end[1]) + \ ? 's1' + \ : '<' .. l:end[1] let self.opened = 0 - return 's1' endif endfunction