vimtex/after/syntax/tex.vim
2014-02-09 15:44:55 +01:00

40 lines
1.3 KiB
VimL

" Better support for cite commands
" \cite, \citep, \citet, \citeauthor, ...
syn match texRefZone
\ "\\\(auto\|text\)cite\%([tp]\*\=\|author\)\="
\ nextgroup=texRefOption,texCite
" Add support for cleverref package
" \Cref, \cref, \cpageref, \labelcref, \labelcpageref
syn region texRefZone matchgroup=texStatement
\ start="\\\(\(label\)\?c\(page\)\?\|C\)ref{"
\ end="}\|%stopzone\>"
\ contains=@texRefGroup
" \crefrange, \cpagerefrange (these commands expect two arguments)
syn match texStatement
\ '\\c\(page\)\?refrange\>'
\ nextgroup=texRefRangeStart skipwhite skipnl
syn region texRefRangeStart
\ start="{"rs=s+1 end="}"
\ matchgroup=Delimiter
\ contained contains=texRefZone
\ nextgroup=texRefRangeEnd skipwhite skipnl
syn region texRefRangeEnd
\ start="{"rs=s+1 end="}"
\ matchgroup=Delimiter
\ contained contains=texRefZone
hi link texRefRangeStart texRefZone
hi link texRefRangeEnd texRefZone
" Support for listings package
syn region texZone
\ start="\\begin{lstlisting}"
\ end="\\end{lstlisting}\|%stopzone\>"
syn region texZone
\ start="\\lstinputlisting"
\ end="{\s*[a-zA-Z/.0-9_^]\+\s*}"
syn match texInputFile
\ "\\lstinline\s*\(\[.*\]\)\={.\{-}}"
\ contains=texStatement,texInputCurlies,texInputFileOpt