diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2020-04-25 21:30:46 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-04-25 21:30:46 +0200 | 
| commit | d757bfd643cc73c2d495355c153ed0257f5d5b47 (patch) | |
| tree | ff210950456938a779d98f6a2ba7321aca512897 /autoload/vimtex/fold/comments.vim | |
| parent | 8ec73a3a8974a62a613680a6b6222a77a7b99546 (diff) | |
| download | vim-polyglot-d757bfd643cc73c2d495355c153ed0257f5d5b47.tar.gz vim-polyglot-d757bfd643cc73c2d495355c153ed0257f5d5b47.zip  | |
Change latex provider to luatex, closes #476
Diffstat (limited to 'autoload/vimtex/fold/comments.vim')
| -rw-r--r-- | autoload/vimtex/fold/comments.vim | 46 | 
1 files changed, 46 insertions, 0 deletions
diff --git a/autoload/vimtex/fold/comments.vim b/autoload/vimtex/fold/comments.vim new file mode 100644 index 00000000..4a313064 --- /dev/null +++ b/autoload/vimtex/fold/comments.vim @@ -0,0 +1,46 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1 + +" vimtex - LaTeX plugin for Vim +" +" Maintainer: Karl Yngve LervÄg +" Email:      karl.yngve@gmail.com +" + +function! vimtex#fold#comments#new(config) abort " {{{1 +  return extend(deepcopy(s:folder), a:config) +endfunction + +" }}}1 + + +let s:folder = { +      \ 'name' : 'comments', +      \ 're' : {'start' : '^\s*%'}, +      \ 'opened' : 0, +      \} +function! s:folder.level(line, lnum) abort dict " {{{1 +  if exists('b:vimtex.fold_types_dict.markers.opened') +        \ && b:vimtex.fold_types_dict.markers.opened | return | endif + +  if a:line =~# self.re.start +    let l:next = getline(a:lnum-1) !~# self.re.start +    let l:prev = getline(a:lnum+1) !~# self.re.start +    if l:next && !l:prev +      let self.opened = 1 +      return 'a1' +    elseif l:prev && !l:next +      let self.opened = 0 +      return 's1' +    endif +  endif +endfunction + +" }}}1 +function! s:folder.text(line, level) abort dict " {{{1 +  let l:lines = map(getline(v:foldstart, v:foldend), 'matchstr(v:val, ''%\s*\zs.*\ze\s*'')') +  return matchstr(a:line, '^.*\s*%') . join(l:lines, ' ') +endfunction + +" }}}1 + +endif  | 
