From 31250a81132181577a5abe800fac92879cc61e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Yngve=20Lerv=C3=A5g?= Date: Sat, 1 Mar 2025 23:43:40 +0100 Subject: [PATCH] feat(syntax): improve glossaries support refer: #3073 --- autoload/vimtex/syntax/p/glossaries.vim | 5 ++++- test/test-syntax/test-glossaries.tex | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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}