Skip to content

Instantly share code, notes, and snippets.

@manasthakur
Last active March 20, 2017 04:31
Show Gist options
  • Save manasthakur/cda8d52ed0ab11aa2b43d19be0e8b2d0 to your computer and use it in GitHub Desktop.
Save manasthakur/cda8d52ed0ab11aa2b43d19be0e8b2d0 to your computer and use it in GitHub Desktop.

Revisions

  1. manasthakur revised this gist Mar 20, 2017. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions latex-fold.vim
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@
    ```vim
    function! MyFoldLevel(lnum)
    let cur_line = getline(a:lnum)

    @@ -30,5 +29,4 @@ function! MyFoldLevel(lnum)
    endif

    return '='
    endfunction
    ```
    endfunction
  2. manasthakur revised this gist Mar 20, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions latex-fold.vim
    Original file line number Diff line number Diff line change
    @@ -2,14 +2,17 @@
    function! MyFoldLevel(lnum)
    let cur_line = getline(a:lnum)

    " Fold sections at level 1
    if cur_line =~ '^\s*\\section'
    return '>1'
    endif

    " Fold subsections at level 2
    if cur_line =~ '^\s*\\subsection'
    return '>2'
    endif

    " Fold subsubsections at level 3
    if cur_line =~ '^\s*\\subsubsection'
    return '>3'
    endif
  3. manasthakur created this gist Mar 20, 2017.
    31 changes: 31 additions & 0 deletions latex-fold.vim
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    ```vim
    function! MyFoldLevel(lnum)
    let cur_line = getline(a:lnum)

    if cur_line =~ '^\s*\\section'
    return '>1'
    endif

    if cur_line =~ '^\s*\\subsection'
    return '>2'
    endif

    if cur_line =~ '^\s*\\subsubsection'
    return '>3'
    endif

    " Fold following environments
    let fold_envs = ['figure', 'algorithm', 'frame']
    let envs = '\(' . join(fold_envs, '\|') . '\)'

    if cur_line =~ '^\s*\\begin{' . envs
    return 'a1'
    endif

    if cur_line =~ '^\s*\\end{' . envs
    return 's1'
    endif

    return '='
    endfunction
    ```