blob: 428ccaaa1c10c405d465a954fddcf9bf953dcb9d (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
|
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#syntax#init() abort " {{{1
if !get(g:, 'vimtex_syntax_enabled', 1) | return | endif
" The following ensures that syntax addons are not loaded until after the
" filetype plugin has been sourced. See e.g. #1428 for more info.
if exists('b:vimtex')
call vimtex#syntax#load()
else
augroup vimtex_syntax
autocmd!
autocmd User VimtexEventInitPost call vimtex#syntax#load()
augroup END
endif
endfunction
" }}}1
function! vimtex#syntax#load() abort " {{{1
if s:is_loaded() | return | endif
" Initialize project cache (used e.g. for the minted package)
if !has_key(b:vimtex, 'syntax')
let b:vimtex.syntax = {}
endif
" Initialize b:vimtex_syntax
let b:vimtex_syntax = {}
" Reset included syntaxes (necessary e.g. when doing :e)
call vimtex#syntax#misc#include_reset()
" Set some better defaults
syntax spell toplevel
syntax sync maxlines=500
" Load some general syntax improvements
call vimtex#syntax#load#general()
" Load syntax for documentclass and packages
call vimtex#syntax#load#packages()
" Hack to make it possible to determine if vimtex syntax was loaded
syntax match texVimtexLoaded 'dummyVimtexLoadedText' contained
endfunction
" }}}1
function! s:is_loaded() abort " {{{1
if exists('*execute')
let l:result = split(execute('syntax'), "\n")
return !empty(filter(l:result, 'v:val =~# "texVimtexLoaded"'))
else
return 0
endif
endfunction
" }}}1
endif
|