mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
67 lines
1.6 KiB
VimL
67 lines
1.6 KiB
VimL
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
|