blob: eab339bf23806d4c22cc355670d1a00c20d45b3c (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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#env_options#new(config) abort " {{{1
return extend(deepcopy(s:folder), a:config)
endfunction
" }}}1
let s:folder = {
\ 'name' : 'envs with options',
\ 're' : {
\ 'start' : g:vimtex#re#not_comment . '\\begin\s*\{.{-}\}\[\s*($|\%)',
\ 'end' : '\s*\]\s*$',
\ },
\ 'opened' : 0,
\}
function! s:folder.level(line, lnum) abort dict " {{{1
return self.opened
\ ? self.fold_closed(a:line, a:lnum)
\ : self.fold_opened(a:line, a:lnum)
endfunction
" }}}1
function! s:folder.fold_opened(line, lnum) abort dict " {{{1
if a:line =~# self.re.start
let self.opened = 1
return 'a1'
endif
endfunction
" }}}1
function! s:folder.fold_closed(line, lnum) abort dict " {{{1
if a:line =~# self.re.end
let self.opened = 0
return 's1'
endif
endfunction
" }}}1
function! s:folder.text(line, level) abort dict " {{{1
return a:line . '...] '
endfunction
" }}}1
endif
|