diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/optex/base/hisyntax-tex.opm')
-rw-r--r-- | Master/texmf-dist/tex/luatex/optex/base/hisyntax-tex.opm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/luatex/optex/base/hisyntax-tex.opm b/Master/texmf-dist/tex/luatex/optex/base/hisyntax-tex.opm new file mode 100644 index 00000000000..2aaaa323fdd --- /dev/null +++ b/Master/texmf-dist/tex/luatex/optex/base/hisyntax-tex.opm @@ -0,0 +1,38 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl\_hisyntaxtex {Syntax highlighting for TeX sources <2020-04-03>} + +\_newtoks\_hisyntaxtex \_newtoks\_hicolorstex + +\_global\_hicolorstex={% colors in TeX codes + \_hicolor S \Blue % control sequences + \_hicolor B \Magenta % {, }, $ + \_hicolor C \Green % comments +} +\_global\_hisyntaxtex={ + \_the\_hicolorstex + \_replthis{\_string\%}{\y{_createcs}{\_csstring\%}} + \_replfromto{\_csstring\%}{^^J}{\x C{\_csstring\%#1}^^J} + \_replthis{\_string\\}{\y{_createcs}{\_csstring\\}} + \_replthis{\_string\{}{\y{_createcs}{\_csstring\{}} + \_replthis{\_string\}}{\y{_createcs}{\_csstring\}}} + \_replthis{\_string\$}{\y{_createcs}{\_csstring\$}} + \_replthis{\_csstring\\}{\y{_createcs}} + \_replthis{\_csstring\{}{\x B{\_csstring\{}} + \_replthis{\_csstring\}}{\x B{\_csstring\}}} + \_replthis{\_csstring\$}{\x B{\_csstring\$}} +} +\_gdef\_createcs#1{\_def\_csletters{#1}% + \_ifcat a\_noexpand#1\_afterfi{\_futurelet\_next\_createcsA}% + \_else \_ea\_createcsF \_fi +} +\_gdef\_createcsA{\_ifcat a\_noexpand\_next \_ea\_createcsB \_else \_ea\_createcsF \_fi} +\_gdef\_createcsB#1{\_addto\_csletters{#1}\_futurelet\_next\_createcsA} +\_gdef\_createcsF{\z S{\_csstring\\\_csletters}} +\_gdef\_createbb{\_ea\_createcs\_csstring\\} + +\_endcode %------------------------------------------------ + +The `\_createcs` reads next tokens as the tokenizer does it until the name +of a control sequence is read. It is saved to the `\_csletters` macro and +the macro \_createcsF prints it. |