diff pygments_lexer_pseudocode2/algpseudocode.py @ 123:4d96ace53ba1

Make it work on Python2 too with all tests by explicitely declaring some strings to be Unicode strings. No tests need to be skipped on Python2 now.
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 06 May 2026 15:53:24 +0200
parents e39ca08b0609
children f916251d5647
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/algpseudocode.py	Wed May 06 15:40:16 2026 +0200
+++ b/pygments_lexer_pseudocode2/algpseudocode.py	Wed May 06 15:53:24 2026 +0200
@@ -109,14 +109,14 @@
         "LOOP": "END LOOP",
     }
     DEFAULT_END_PREFIX = "END OF "
-    SYMBOL_REMARK = "▷"            # U+25B7: Unicode 1.0 (Geometric Shapes)
-    # SYMBOL_REMARK = "▻"          # U+25BB: Unicode 1.0 (Geometric Shapes)
-    # SYMBOL_REMARK = "⍝"          # U+235D: Unicode 1.1 (Misc. Technical, APL)
-    SYMBOL_BLOCK = "◆"             # U+25C6: Unicode 1.0 (Geometric Shapes)
-    # SYMBOL_BLOCK = "┃"           # U+2503: Unicode 1.0 (Bow Drawing)
-    # SYMBOL_BLOCK = "●"           # U+25CF: Unicode 1.0 (Geometric Shapes)
-    SYMBOL_TEXTSTATEMENT = "▪"     # U+25AA: Unicode 1.0 (Geometric Shapes)
-    # SYMBOL_TEXTSTATEMENT = "■"   # U+25A0: Unicode 1.0 (Geometric Shapes)
+    SYMBOL_REMARK = u"▷"           # U+25B7: Unicode 1.0 (Geometric Shapes)
+    # SYMBOL_REMARK = u"▻"         # U+25BB: Unicode 1.0 (Geometric Shapes)
+    # SYMBOL_REMARK = u"⍝"         # U+235D: Unicode 1.1 (Misc. Technical, APL)
+    SYMBOL_BLOCK = u"◆"            # U+25C6: Unicode 1.0 (Geometric Shapes)
+    # SYMBOL_BLOCK = u"┃"          # U+2503: Unicode 1.0 (Bow Drawing)
+    # SYMBOL_BLOCK = u"●"          # U+25CF: Unicode 1.0 (Geometric Shapes)
+    SYMBOL_TEXTSTATEMENT = u"▪"    # U+25AA: Unicode 1.0 (Geometric Shapes)
+    # SYMBOL_TEXTSTATEMENT = u"■"  # U+25A0: Unicode 1.0 (Geometric Shapes)
     SYMBOLS = {
         # Group REMARK
         "REMARK": SYMBOL_REMARK,
@@ -132,23 +132,23 @@
         "TSTATE": SYMBOL_TEXTSTATEMENT,
         "TEXTBLOCK": SYMBOL_TEXTSTATEMENT,
         "TBLOCK": SYMBOL_TEXTSTATEMENT,
-        "<-": "⟵",          # U+27F5: Unicode 3.2 (Supplemental Arrows-A)
-        "->": "⟶",          # U+27F6: Unicode 3.2 (Supplemental Arrows-A)
-        "<->": "⟷",         # U+27F7: Unicode 3.2 (Supplemental Arrows-A)
-        # "=>": "⟹",       # U+27F9: Unicode 3.2 (Supplemental Arrows-A)
-        # "<=>": "⟺",      # U+27FA: Unicode 3.2 (Supplemental Arrows-A)
-        # "<-": "←",        # U+2190: Unicode 1.0 (Arrows)
-        # "->": "→",        # U+2192: Unicode 1.0 (Arrows)
-        # "<->": "↔",       # U+2194: Unicode 1.0 (Arrows)
-        "=>": "⇒",          # U+21D2: Unicode 1.0 (Arrows)
-        "<=>": "⇔",         # U+21D4: Unicode 1.0 (Arrows)
-        "<=": "≤",          # U+2264: Unicode 1.0 (Mathematical Operators)
-        ">=": "≥",          # U+2265: Unicode 1.0 (Mathematical Operators)
-        "<>": "≠",          # U+2260: Unicode 1.0 (Mathematical Operators)
-        "!=": "≠",          # U+2260: Unicode 1.0 (Mathematical Operators)
-        ":=": "∶=",    # "≔" U+2254  not recognizable in my (small) mono font
-        "=:": "=∶",    # "≕" U+2255  not recognizable in my (small) mono font
-        "?=": "≟",          # U+225F: Unicode 1.0 (Mathematical Operators)
+        "<-": u"⟵",          # U+27F5: Unicode 3.2 (Supplemental Arrows-A)
+        "->": u"⟶",          # U+27F6: Unicode 3.2 (Supplemental Arrows-A)
+        "<->": u"⟷",         # U+27F7: Unicode 3.2 (Supplemental Arrows-A)
+        # "=>": u"⟹",       # U+27F9: Unicode 3.2 (Supplemental Arrows-A)
+        # "<=>": u"⟺",      # U+27FA: Unicode 3.2 (Supplemental Arrows-A)
+        # "<-": u"←",        # U+2190: Unicode 1.0 (Arrows)
+        # "->": u"→",        # U+2192: Unicode 1.0 (Arrows)
+        # "<->": u"↔",       # U+2194: Unicode 1.0 (Arrows)
+        "=>": u"⇒",          # U+21D2: Unicode 1.0 (Arrows)
+        "<=>": u"⇔",         # U+21D4: Unicode 1.0 (Arrows)
+        "<=": u"≤",          # U+2264: Unicode 1.0 (Mathematical Operators)
+        ">=": u"≥",          # U+2265: Unicode 1.0 (Mathematical Operators)
+        "<>": u"≠",          # U+2260: Unicode 1.0 (Mathematical Operators)
+        "!=": u"≠",          # U+2260: Unicode 1.0 (Mathematical Operators)
+        ":=": u"∶=",    # "≔" U+2254  not recognizable in my (small) mono font
+        "=:": u"=∶",    # "≕" U+2255  not recognizable in my (small) mono font
+        "?=": u"≟",          # U+225F: Unicode 1.0 (Mathematical Operators)
     }
 
     def op_translate(toktype):