diff pygments_lexer_pseudocode2/__init__.py @ 19:2e67c4eae6d9

Use an alternate replace algorithm with a dict
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 20 Apr 2026 15:25:45 +0200
parents 81554feb6507
children 3db60b64abf6
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/__init__.py	Mon Apr 20 14:12:35 2026 +0200
+++ b/pygments_lexer_pseudocode2/__init__.py	Mon Apr 20 15:25:45 2026 +0200
@@ -36,16 +36,21 @@
     mimetypes = []
     flags = re.IGNORECASE
 
+    REPLACEMENTS = {
+        '<=': '≤',
+        '>=': '≥',
+        '<>': '≠',
+        '<-': '←',
+        '^': '↑',
+    }
+
     def op_replace(lexer, match):
         op = match.group(0)
-        
-        S = ('<=', '>=', '<>', '<-', '^')
-        R = ('≤',  '≥',  '≠',  '←',  '↑')
-
-        if op in S:
-            op = R[S.index(op)]
-
-        yield match.start(), Operator, op
+        opr = lexer.REPLACEMENTS.get(op)
+        if opr is None:
+            yield match.start(), Operator, op
+        else:
+            yield match.start(), Operator, opr
 
     def scomment(lexer, match):
         s = match.group(1).lower().strip()