diff pygments_lexer_pseudocode2/algpseudocode.py @ 162:11ce0903ff8b

Yield lone backslash characters in expressions that not really escape anything as "Generic.Error" now. In text-mode do this not.
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 08 May 2026 17:58:50 +0200
parents 00a432d14508
children
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/algpseudocode.py	Fri May 08 17:57:56 2026 +0200
+++ b/pygments_lexer_pseudocode2/algpseudocode.py	Fri May 08 17:58:50 2026 +0200
@@ -346,14 +346,14 @@
             (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_fixed(Generic.Error, "\\")),
         ],
         "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"\\", op_opt_ignore_or_fixed(Generic.Error, "\\")),
         ],
         "expr": [
             include("math-symbols"),          # must be before punctuation
@@ -394,7 +394,7 @@
             (r"\n", Whitespace),
             include("expr-in-braces"),
             (r"\\\\", LexBase.op_fixed(Text, "\\")),
-            (r"\\", LexBase.op_fixed(Text, "\\")),
+            (r"\\", LexBase.op_fixed(Generic.Error, "\\")),
             include("unicode-separators"),
             include("unicode-other"),
             (r"[^\S\n]+", Text),
@@ -411,7 +411,7 @@
             include("explicit-tokentype"),
             include("remark"),
             (r"\\\\", LexBase.op_fixed(Text, "\\")),
-            (r"\\", LexBase.op_fixed(Text, "\\")),
+            (r"\\", LexBase.op_fixed(Text, "\\")),  # in text-mode: leave Text
             (r".", Error),
         ],
         "text-in-expr": [
@@ -425,7 +425,7 @@
             include("explicit-tokentype"),
             include("remark"),
             (r"\\\\", LexBase.op_fixed(Text, "\\")),
-            (r"\\", LexBase.op_fixed(Text, "\\")),
+            (r"\\", LexBase.op_fixed(Text, "\\")),  # in text-mode: leave Text
             (r".", Error),
         ],
         "math-builtins": [