diff options
Diffstat (limited to '.vim/autoload/balena_diagnostics_fold.vim')
| -rw-r--r-- | .vim/autoload/balena_diagnostics_fold.vim | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/.vim/autoload/balena_diagnostics_fold.vim b/.vim/autoload/balena_diagnostics_fold.vim new file mode 100644 index 0000000..4513f6b --- /dev/null +++ b/.vim/autoload/balena_diagnostics_fold.vim @@ -0,0 +1,25 @@ +" +" manually: +" setlocal foldexpr=balena_diagnostics_fold#expr(v:lnum) +" setlocal foldmethod=expr +" setlocal foldlevel=1 +" or as command: +" command! BalenaDiagnosticsFold call balena_diagnostics_fold#apply() +" + +function! s:foldexpr(lnum) + return getline(a:lnum)=~'^===\s.*\s===$'?'>1':getline(a:lnum)=~'^---\s.*\s---$'?'>2':'=' +endfunction + +function! balena_diagnostics_fold#expr(lnum) abort + return s:foldexpr(a:lnum) +endfunction + +function! balena_diagnostics_fold#apply() abort + setlocal + \ foldmethod=expr + \ foldexpr=balena_diagnostics_fold#expr(v:lnum) + \ foldcolumn=auto:9 + \ foldlevel=1 + \ foldenable +endfunction |