# HG changeset patch # User Franz Glasner # Date 1777533886 -7200 # Node ID 1a5e192aa950f06ee5e82d5da3a24b84df75a68c # Parent 27e12387154d519d1353a33de8c1bcd4159a965d Move popping states consistently more to the begin diff -r 27e12387154d -r 1a5e192aa950 pygments_lexer_pseudocode2/algpseudocode.py --- a/pygments_lexer_pseudocode2/algpseudocode.py Thu Apr 30 09:20:35 2026 +0200 +++ b/pygments_lexer_pseudocode2/algpseudocode.py Thu Apr 30 09:24:46 2026 +0200 @@ -196,17 +196,17 @@ ], "entity-name": [ # may be multiline (r"[^\\}]+", Name.Entity), + (r"\}", LexBase.op_ignore, "#pop"), (r"\\\}", LexBase.op_fixed(Name.Entity, "}")), (r"\\\\", LexBase.op_fixed(Name.Entity, "\\")), (r"\\", LexBase.op_fixed(Name.Entity, "\\")), - (r"\}", LexBase.op_ignore, "#pop"), ], "entity-name-end": [ # may be multiline -- suppressed if no_end (r"[^\\}]+", op_opt_ignore(Name.Entity)), + (r"\}", LexBase.op_ignore, "#pop"), (r"\\\}", op_opt_ignore_or_fixed(Name.Entity, "}")), (r"\\\\", op_opt_ignore_or_fixed(Name.Entity, "\\")), (r"\\", op_opt_ignore_or_fixed(Name.Entity, "\\")), - (r"\}", LexBase.op_ignore, "#pop"), ], "expr": [ include("punctuation"), @@ -237,10 +237,11 @@ include("py-name"), ], "text-in-expr": [ - (r"[^\\}]+", Text), + (r"[^\\}\n]+", Text), + (r"\}", LexBase.op_ignore, "#pop"), + (r"\n", Whitespace), (r"\\\}", LexBase.op_fixed(Text, "}")), (r"\\", LexBase.op_fixed(Text, "\\")), - (r"\}", LexBase.op_ignore, "#pop"), ], "math-builtins": [ (words(("sqrt", "pow", "cos", "sin", "tan", "arcos", "arcsin",