From a59fc2e1c5a3435d5765902cd841d4adc0724106 Mon Sep 17 00:00:00 2001 From: 144026 <44112701+144026@users.noreply.github.com> Date: Tue, 23 Mar 2021 01:53:59 +0800 Subject: [PATCH 1/6] fix(syntax): allow texCmd in \lstset --- autoload/vimtex/syntax/p/listings.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/vimtex/syntax/p/listings.vim b/autoload/vimtex/syntax/p/listings.vim index ebe67ed5be..69371678c5 100644 --- a/autoload/vimtex/syntax/p/listings.vim +++ b/autoload/vimtex/syntax/p/listings.vim @@ -17,7 +17,7 @@ function! vimtex#syntax#p#listings#load(cfg) abort " {{{1 syntax match texCmdLstset "\\lstset\>" \ nextgroup=texLstsetArg,texLstsetGroup skipwhite skipnl call vimtex#syntax#core#new_arg('texLstsetGroup', { - \ 'contains': 'texComment,texLength,texOptSep,texOptEqual' + \ 'contains': 'texCmdSize,texCmdStyle,@texClusterOpt' \}) " Match unspecified lstlisting environment From 9e7cf0dddbebe876b8b19aef19aaf6ed1f872d1f Mon Sep 17 00:00:00 2001 From: 144026 <44112701+144026@users.noreply.github.com> Date: Tue, 23 Mar 2021 01:54:58 +0800 Subject: [PATCH 2/6] fix(syntax): highlight link LstsetGroup to texGroup --- autoload/vimtex/syntax/p/listings.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/vimtex/syntax/p/listings.vim b/autoload/vimtex/syntax/p/listings.vim index 69371678c5..fbe8e8fc18 100644 --- a/autoload/vimtex/syntax/p/listings.vim +++ b/autoload/vimtex/syntax/p/listings.vim @@ -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 texLstsetGroup texGroup endfunction " }}}1 From b01f22928f6de6f11115ac154f8ea207c8b74de9 Mon Sep 17 00:00:00 2001 From: 144026 <44112701+144026@users.noreply.github.com> Date: Tue, 23 Mar 2021 02:00:15 +0800 Subject: [PATCH 3/6] fix(test): test-listings: rust assert: line# 36->37 --- test/test-syntax/test-listings.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test-syntax/test-listings.vim b/test/test-syntax/test-listings.vim index aca417bc7b..7e8f36e857 100644 --- a/test/test-syntax/test-listings.vim +++ b/test/test-syntax/test-listings.vim @@ -10,7 +10,7 @@ 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)) From 188f77c09ff75c9d74b48328e560fb8b45b26b5a Mon Sep 17 00:00:00 2001 From: 144026 <44112701+144026@users.noreply.github.com> Date: Tue, 23 Mar 2021 02:11:49 +0800 Subject: [PATCH 4/6] fix(test): add testcases for the \lstset fix --- test/test-syntax/test-listings.tex | 6 ++++++ test/test-syntax/test-listings.vim | 3 +++ 2 files changed, 9 insertions(+) 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 7e8f36e857..54b1a9d925 100644 --- a/test/test-syntax/test-listings.vim +++ b/test/test-syntax/test-listings.vim @@ -14,4 +14,7 @@ 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('texCmd', 46, 20)) +call vimtex#test#assert(vimtex#syntax#in('texCmdSize', 47, 20)) + quit! From 236ca9069933e71dee0133d681267860c96b164e Mon Sep 17 00:00:00 2001 From: 144026 <44112701+144026@users.noreply.github.com> Date: Tue, 23 Mar 2021 14:10:01 +0800 Subject: [PATCH 5/6] fix(syntax): unlink highlight for texLstsetGroup --- autoload/vimtex/syntax/p/listings.vim | 1 - 1 file changed, 1 deletion(-) diff --git a/autoload/vimtex/syntax/p/listings.vim b/autoload/vimtex/syntax/p/listings.vim index fbe8e8fc18..1c32a0fb37 100644 --- a/autoload/vimtex/syntax/p/listings.vim +++ b/autoload/vimtex/syntax/p/listings.vim @@ -91,7 +91,6 @@ 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 texGroup endfunction " }}}1 From 705a580f5ae7210e4e2208618780ec81248b5a12 Mon Sep 17 00:00:00 2001 From: 144026 <44112701+144026@users.noreply.github.com> Date: Tue, 23 Mar 2021 20:48:31 +0800 Subject: [PATCH 6/6] fix(syntax): rename texLstsetGroup to texLstsetArg, link to texOpt --- autoload/vimtex/syntax/p/listings.vim | 7 ++++--- test/test-syntax/test-listings.vim | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/autoload/vimtex/syntax/p/listings.vim b/autoload/vimtex/syntax/p/listings.vim index 1c32a0fb37..e990b6cc68 100644 --- a/autoload/vimtex/syntax/p/listings.vim +++ b/autoload/vimtex/syntax/p/listings.vim @@ -15,8 +15,8 @@ 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', { + \ nextgroup=texLstsetArg,texLstsetArg skipwhite skipnl + call vimtex#syntax#core#new_arg('texLstsetArg', { \ 'contains': 'texCmdSize,texCmdStyle,@texClusterOpt' \}) @@ -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,6 +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 texLstsetArg texOpt endfunction " }}}1 diff --git a/test/test-syntax/test-listings.vim b/test/test-syntax/test-listings.vim index 54b1a9d925..a1a43355be 100644 --- a/test/test-syntax/test-listings.vim +++ b/test/test-syntax/test-listings.vim @@ -12,7 +12,7 @@ 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', 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))