diff pygments_lexer_pseudocode2/algpseudocode.py @ 76:27e12387154d

FIX: Handle escape character more thoroughly: also explicitely handle "\\"
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 30 Apr 2026 09:20:35 +0200
parents 711f8d19e27a
children 1a5e192aa950
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/algpseudocode.py	Wed Apr 29 12:43:28 2026 +0200
+++ b/pygments_lexer_pseudocode2/algpseudocode.py	Thu Apr 30 09:20:35 2026 +0200
@@ -197,12 +197,14 @@
         "entity-name": [      # may be multiline
             (r"[^\\}]+", Name.Entity),
             (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"\\\}", 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"),
         ],
@@ -220,6 +222,8 @@
             (r"\}", LexBase.op_ignore, "#pop"),
             (r"\n", Whitespace),
             include("expr-in-braces"),
+            (r"\\\\", LexBase.op_fixed(Text, "\\")),
+            (r"\\", LexBase.op_fixed(Text, "\\")),
             (r"\s+", Text),
         ],
         "expr-in-braces": [