changeset 77:1a5e192aa950

Move popping states consistently more to the begin
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 30 Apr 2026 09:24:46 +0200
parents 27e12387154d
children abb2e8c65d0f
files pygments_lexer_pseudocode2/algpseudocode.py
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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",