diff --git a/autoload/vimtex/syntax/p/listings.vim b/autoload/vimtex/syntax/p/listings.vim index ebe67ed5be..e990b6cc68 100644 --- a/autoload/vimtex/syntax/p/listings.vim +++ b/autoload/vimtex/syntax/p/listings.vim @@ -15,9 +15,9 @@ function! vimtex#syntax#p#listings#load(cfg) abort " {{{1 " Match \lstset syntax match texCmdLstset "\\lstset\>" - \ nextgroup=texLstsetArg,texLstsetGroup skipwhite skipnl - call vimtex#syntax#core#new_arg('texLstsetGroup', { - \ 'contains': 'texComment,texLength,texOptSep,texOptEqual' + \ nextgroup=texLstsetArg,texLstsetArg skipwhite skipnl + call vimtex#syntax#core#new_arg('texLstsetArg', { + \ 'contains': 'texCmdSize,texCmdStyle,@texClusterOpt' \}) " Match unspecified lstlisting environment @@ -51,7 +51,7 @@ function! vimtex#syntax#p#listings#load(cfg) abort " {{{1 execute 'syntax match texLstsetArg' \ '"\c{\_[^}]*language=' . l:nested . '\%(\s*,\|}\)"' \ 'nextgroup=' . l:grp 'skipwhite skipnl' - \ 'contains=texLstsetGroup' + \ 'contains=texLstsetArg' call vimtex#syntax#core#new_region_env(l:grp, 'lstlisting', { \ 'contains': 'texLstEnvBgn,' . l:cluster, @@ -91,7 +91,7 @@ function! vimtex#syntax#p#listings#load(cfg) abort " {{{1 highlight def link texLstOpt texOpt highlight def link texLstZone texZone highlight def link texLstZoneInline texVerbZoneInline - highlight def link texLstsetGroup texOpt + highlight def link texLstsetArg texOpt endfunction " }}}1 diff --git a/test/test-syntax/test-listings.tex b/test/test-syntax/test-listings.tex index a0dd55040d..3362f6a7fb 100644 --- a/test/test-syntax/test-listings.tex +++ b/test/test-syntax/test-listings.tex @@ -41,4 +41,10 @@ \lstset{language=x,numbers=none} +\lstset{ + language=C, + basicstyle=\color[RGB]{0,0,0}, + numberstyle=\small +} + \end{document} diff --git a/test/test-syntax/test-listings.vim b/test/test-syntax/test-listings.vim index aca417bc7b..a1a43355be 100644 --- a/test/test-syntax/test-listings.vim +++ b/test/test-syntax/test-listings.vim @@ -10,8 +10,11 @@ call vimtex#test#assert(vimtex#syntax#in('texLstZoneInline', 9, 14)) call vimtex#test#assert(vimtex#syntax#in('texLstZone', 15, 1)) call vimtex#test#assert(vimtex#syntax#in('texLstZoneC', 23, 1)) call vimtex#test#assert(vimtex#syntax#in('texLstZonePython', 30, 1)) -call vimtex#test#assert(vimtex#syntax#in('texLstZoneRust', 36, 1)) +call vimtex#test#assert(vimtex#syntax#in('texLstZoneRust', 37, 1)) -call vimtex#test#assert(vimtex#syntax#in('texLstsetGroup', 42, 10)) +call vimtex#test#assert(vimtex#syntax#in('texLstsetArg', 42, 10)) + +call vimtex#test#assert(vimtex#syntax#in('texCmd', 46, 20)) +call vimtex#test#assert(vimtex#syntax#in('texCmdSize', 47, 20)) quit!