diff --git a/autoload/vimtex/syntax/p/glossaries.vim b/autoload/vimtex/syntax/p/glossaries.vim index ca44f84c54..c797302ef1 100644 --- a/autoload/vimtex/syntax/p/glossaries.vim +++ b/autoload/vimtex/syntax/p/glossaries.vim @@ -7,7 +7,8 @@ scriptencoding utf-8 function! vimtex#syntax#p#glossaries#load(cfg) abort " {{{1 - syntax match texCmd nextgroup=texGlsArg skipwhite skipnl "\\gls\>" + syntax match texCmdGls "\v\c\\gls%(desc|link)?>" + \ nextgroup=texGlsArg skipwhite skipnl call vimtex#syntax#core#new_arg('texGlsArg', {'contains': '@NoSpell'}) " \newacronym -> opt -> arg1 -> arg2 -> arg3 @@ -34,6 +35,8 @@ function! vimtex#syntax#p#glossaries#load(cfg) abort " {{{1 \ nextgroup=texAcrArgLabel skipwhite skipnl call vimtex#syntax#core#new_arg('texAcrArgLabel', {'contains': '@NoSpell'}) + highlight def link texCmdGls texCmd + highlight def link texGlsArg texRefArg highlight def link texCmdAcr texCmd highlight def link texCmdNewAcr texCmdNew highlight def link texNewAcrOpt texOpt diff --git a/test/test-syntax/test-glossaries.tex b/test/test-syntax/test-glossaries.tex index 252e7a3a17..8faf7ab6dd 100644 --- a/test/test-syntax/test-glossaries.tex +++ b/test/test-syntax/test-glossaries.tex @@ -16,4 +16,9 @@ \Acrfull{rl} is a fun subfield of \acrlong{ml}. \acrshort{ml} is fun. \printnoidxglossary[type=acronym] +\gls{sym.electron_charge} +\Gls{sym.electron_charge} +\glsdesc{sym.electron_charge} +\glslink{sym.electron_charge} + \end{document}