summary refs log tree commit diff
path: root/.vim/autoload/balena_diagnostics_fold.vim
blob: 4513f6b88a1673c8086740e1a64c56831310003b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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