diff pygments_lexer_pseudocode2/algpseudocode.py @ 116:9bfd87544902

Use arrows from Supplemental Arrows-A Unicode block where appropriate: better readability
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 06 May 2026 10:05:57 +0200
parents e1663ac707b0
children d84f1fd10e64
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/algpseudocode.py	Wed May 06 01:31:41 2026 +0200
+++ b/pygments_lexer_pseudocode2/algpseudocode.py	Wed May 06 10:05:57 2026 +0200
@@ -131,18 +131,23 @@
         "TSTATE": SYMBOL_TEXTSTATEMENT,
         "TEXTBLOCK": SYMBOL_TEXTSTATEMENT,
         "TBLOCK": SYMBOL_TEXTSTATEMENT,
-        "<-": "←",
-        "->": "→",
-        "=>": "⇒",
-        "<=": "≤",
-        ">=": "≥",
-        "<>": "≠",
-        "!=": "≠",
-        ":=": "∶=",  # "≔"   not recognizable
-        "=:": "=∶",  # "≕",  not recognizable
-        "<=>": "⇔",
-        "<->": "↔",
-        "?=": "≟",
+        "<-": "⟵",          # 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)
     }
 
     def op_translate(toktype):
@@ -504,9 +509,11 @@
     }
 
     def __init__(self, **options):
-        val = pygments.util.get_bool_opt(options, "no_end", default=False)
-        self.no_end = val
-        self.symbol_gets = options.get("gets", "←")
+        self.no_end = pygments.util.get_bool_opt(
+            options, "no_end", default=False)
+        self.symbol_gets = options.get("gets", None)
+        if self.symbol_gets is None:
+            self.symbol_gets = self.SYMBOLS["<-"]   # Default: "⟵"  # U+27F5
         LexBase.__init__(self, **options)