summaryrefslogtreecommitdiffstats
path: root/autoload/vimtex/fold/comments.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-04-25 21:30:46 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-04-25 21:30:46 +0200
commitd757bfd643cc73c2d495355c153ed0257f5d5b47 (patch)
treeff210950456938a779d98f6a2ba7321aca512897 /autoload/vimtex/fold/comments.vim
parent8ec73a3a8974a62a613680a6b6222a77a7b99546 (diff)
downloadvim-polyglot-d757bfd643cc73c2d495355c153ed0257f5d5b47.tar.gz
vim-polyglot-d757bfd643cc73c2d495355c153ed0257f5d5b47.zip
Change latex provider to luatex, closes #476
Diffstat (limited to '')
-rw-r--r--autoload/vimtex/fold/comments.vim46
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