From d757bfd643cc73c2d495355c153ed0257f5d5b47 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Sat, 25 Apr 2020 21:30:46 +0200 Subject: Change latex provider to luatex, closes #476 --- autoload/vimtex/fold/markers.vim | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 autoload/vimtex/fold/markers.vim (limited to 'autoload/vimtex/fold/markers.vim') diff --git a/autoload/vimtex/fold/markers.vim b/autoload/vimtex/fold/markers.vim new file mode 100644 index 00000000..00aa1fce --- /dev/null +++ b/autoload/vimtex/fold/markers.vim @@ -0,0 +1,60 @@ +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#markers#new(config) abort " {{{1 + return extend(deepcopy(s:folder), a:config).init() +endfunction + +" }}}1 + + +let s:folder = { + \ 'name' : 'markers', + \ 'open' : '{{{', + \ 'close' : '}}}', + \ 're' : {}, + \ 'opened' : 0, + \} +function! s:folder.init() abort dict " {{{1 + let self.re.start = '%.*' . self.open + let self.re.end = '%.*' . self.close + let self.re.text = [ + \ [self.re.start . '\d\?\s*\zs.*', '% ' . self.open . ' '], + \ ['%\s*\zs.*\ze' . self.open, '% ' . self.open . ' '], + \ ['^.*\ze\s*%', ''], + \] + + let self.re.fold_re = escape(self.open . '|' . self.close, '{}%+*.') + + return self +endfunction + +" }}}1 +function! s:folder.level(line, lnum) abort dict " {{{1 + if a:line =~# self.re.start + let s:self.opened = 1 + return 'a1' + elseif a:line =~# self.re.end + let s:self.opened = 0 + return 's1' + endif +endfunction + +" }}}1 +function! s:folder.text(line, level) abort dict " {{{1 + for [l:re, l:pre] in self.re.text + let l:text = matchstr(a:line, l:re) + if !empty(l:text) | return l:pre . l:text | endif + endfor + + return '% ' . self.open . ' ' . getline(v:foldstart + 1) +endfunction + +" }}}1 + +endif -- cgit v1.2.3