Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
changeset 92:3f37832c405d
FIX: Wrong state for \TEXT command
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 03 May 2026 13:59:16 +0200 |
| parents | feb41c8d72d2 |
| children | 84c0f761c836 |
| files | pygments_lexer_pseudocode2/algpseudocode.py tests/test_algpseudo.py |
| diffstat | 2 files changed, 19 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/algpseudocode.py Sat May 02 14:55:15 2026 +0200 +++ b/pygments_lexer_pseudocode2/algpseudocode.py Sun May 03 13:59:16 2026 +0200 @@ -301,9 +301,9 @@ (r"\}", LexBase.op_ignore, "#pop"), (r"\n", Whitespace), (r"\\\}", LexBase.op_fixed(Text, "}")), - (r"(?:i)\\(expr(?:ession)?)[ \t]*(\{)", - bygroups(LexBase.op_ignore, LexBase.op_ignore), - "expr-in-braces"), + (r"(?i)\\expr(?:ession)?[ \t]*\{", + LexBase.op_ignore, + "block-expr"), include("explicit-tokentype"), (r"\\\\", LexBase.op_fixed(Text, "\\")), (r"\\", LexBase.op_fixed(Text, "\\")),
--- a/tests/test_algpseudo.py Sat May 02 14:55:15 2026 +0200 +++ b/tests/test_algpseudo.py Sun May 03 13:59:16 2026 +0200 @@ -452,6 +452,22 @@ ], pygments.lex(r"\tstate{a 1.2 \\expr{x in X\} c}", self.lexer)) + def test_text_in_expr(self): + self.assertTokenStreamEqualComplete( + [("Name.Entity", "first"), + ("Text", " "), + ("Name.Entity", "expression"), + ("Text", " "), + ("Name.Entity", "second"), + ("Text", " "), + ("Name.Entity", "expression"), + ("Text.Whitespace", "\n"), + ], + pygments.lex( + r"\TEXT{\EXPRESSION{first expression} " + r"\EXPR{second expression}}", + self.lexer)) + def test_explicit_extended_single_tokentype_1(self): self.assertTokenStreamEqualComplete( [("Operator", "%"),
