diff options
Diffstat (limited to 'ftplugin/latex-box/folding.vim')
-rw-r--r-- | ftplugin/latex-box/folding.vim | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/ftplugin/latex-box/folding.vim b/ftplugin/latex-box/folding.vim index 55a975f8..badfc137 100644 --- a/ftplugin/latex-box/folding.vim +++ b/ftplugin/latex-box/folding.vim @@ -31,6 +31,9 @@ endif if !exists('g:LatexBox_fold_envs') let g:LatexBox_fold_envs=1 endif +if !exists('g:LatexBox_fold_envs_force') + let g:LatexBox_fold_envs_force = [] +endif if !exists('g:LatexBox_fold_parts') let g:LatexBox_fold_parts=[ \ "appendix", @@ -159,11 +162,27 @@ function! LatexBox_FoldLevel(lnum) endif " Fold environments - if g:LatexBox_fold_envs == 1 - if line =~# s:envbeginpattern + if line =~# s:envbeginpattern + if g:LatexBox_fold_envs == 1 return "a1" - elseif line =~# s:envendpattern + else + let env = matchstr(line,'\\begin\*\?{\zs\w*\*\?\ze}') + if index(g:LatexBox_fold_envs_force, env) >= 0 + return "a1" + else + return "=" + endif + endif + elseif line =~# s:envendpattern + if g:LatexBox_fold_envs == 1 return "s1" + else + let env = matchstr(line,'\\end\*\?{\zs\w*\*\?\ze}') + if index(g:LatexBox_fold_envs_force, env) >= 0 + return "s1" + else + return "=" + endif endif endif |