diff options
author | Urbain Vaes <urbain@vaes.uk> | 2014-10-09 14:14:48 +0100 |
---|---|---|
committer | Urbain Vaes <urbain@vaes.uk> | 2014-10-09 14:14:48 +0100 |
commit | 54be9a471091bdc8e7770d85623895c83e3f3153 (patch) | |
tree | 539410b6883d0f777f3b32ec6fbc33245fec68e0 /.vim/after/ftplugin/tex/folding.vim |
Initial commit
Diffstat (limited to '.vim/after/ftplugin/tex/folding.vim')
-rw-r--r-- | .vim/after/ftplugin/tex/folding.vim | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/.vim/after/ftplugin/tex/folding.vim b/.vim/after/ftplugin/tex/folding.vim new file mode 100644 index 0000000..2e8b612 --- /dev/null +++ b/.vim/after/ftplugin/tex/folding.vim @@ -0,0 +1,34 @@ +function! TexFolds() + let thisline = getline(v:lnum) + if match(thisline,'^\\chapter') >= 0 + return ">1" + elseif match(thisline,'^\\section') >= 0 + return ">1" + elseif match(thisline,'^\\subsection') >=0 + return ">1" + elseif match(thisline,'^\\subsubsection') >=0 + return ">1" + else + return "=" + endif +endfunction + +function! TexFoldText() + let startline = getline(v:foldstart) + let title = substitute(startline,'^.*{\(.*\)}.*$','\1',"") + if match(startline,'^\\chapter') >= 0 + return '*' . title . '' + elseif match(startline,'^\\section') >= 0 + return ' # ' . title + elseif match(startline,'^\\subsection') >=0 + return ' ## ' . title + elseif match(startline,'^\\subsubsection') >=0 + return ' ### ' . title + else + echom "Error, fold not recognized" + endif +endfunction + +setlocal foldmethod=expr +setlocal foldexpr=TexFolds() +setlocal foldtext=TexFoldText() |