comparison 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
comparison
equal deleted inserted replaced
122:e39ca08b0609 123:4d96ace53ba1
107 "FOR": "END FOR", 107 "FOR": "END FOR",
108 "FORALL": "END FOR ALL", 108 "FORALL": "END FOR ALL",
109 "LOOP": "END LOOP", 109 "LOOP": "END LOOP",
110 } 110 }
111 DEFAULT_END_PREFIX = "END OF " 111 DEFAULT_END_PREFIX = "END OF "
112 SYMBOL_REMARK = "▷" # U+25B7: Unicode 1.0 (Geometric Shapes) 112 SYMBOL_REMARK = u"▷" # U+25B7: Unicode 1.0 (Geometric Shapes)
113 # SYMBOL_REMARK = "▻" # U+25BB: Unicode 1.0 (Geometric Shapes) 113 # SYMBOL_REMARK = u"▻" # U+25BB: Unicode 1.0 (Geometric Shapes)
114 # SYMBOL_REMARK = "⍝" # U+235D: Unicode 1.1 (Misc. Technical, APL) 114 # SYMBOL_REMARK = u"⍝" # U+235D: Unicode 1.1 (Misc. Technical, APL)
115 SYMBOL_BLOCK = "◆" # U+25C6: Unicode 1.0 (Geometric Shapes) 115 SYMBOL_BLOCK = u"◆" # U+25C6: Unicode 1.0 (Geometric Shapes)
116 # SYMBOL_BLOCK = "┃" # U+2503: Unicode 1.0 (Bow Drawing) 116 # SYMBOL_BLOCK = u"┃" # U+2503: Unicode 1.0 (Bow Drawing)
117 # SYMBOL_BLOCK = "●" # U+25CF: Unicode 1.0 (Geometric Shapes) 117 # SYMBOL_BLOCK = u"●" # U+25CF: Unicode 1.0 (Geometric Shapes)
118 SYMBOL_TEXTSTATEMENT = "▪" # U+25AA: Unicode 1.0 (Geometric Shapes) 118 SYMBOL_TEXTSTATEMENT = u"▪" # U+25AA: Unicode 1.0 (Geometric Shapes)
119 # SYMBOL_TEXTSTATEMENT = "■" # U+25A0: Unicode 1.0 (Geometric Shapes) 119 # SYMBOL_TEXTSTATEMENT = u"■" # U+25A0: Unicode 1.0 (Geometric Shapes)
120 SYMBOLS = { 120 SYMBOLS = {
121 # Group REMARK 121 # Group REMARK
122 "REMARK": SYMBOL_REMARK, 122 "REMARK": SYMBOL_REMARK,
123 "REM": SYMBOL_REMARK, 123 "REM": SYMBOL_REMARK,
124 # Group STATEMENT 124 # Group STATEMENT
130 "TEXTSTATE": SYMBOL_TEXTSTATEMENT, 130 "TEXTSTATE": SYMBOL_TEXTSTATEMENT,
131 "TSTATEMENT": SYMBOL_TEXTSTATEMENT, 131 "TSTATEMENT": SYMBOL_TEXTSTATEMENT,
132 "TSTATE": SYMBOL_TEXTSTATEMENT, 132 "TSTATE": SYMBOL_TEXTSTATEMENT,
133 "TEXTBLOCK": SYMBOL_TEXTSTATEMENT, 133 "TEXTBLOCK": SYMBOL_TEXTSTATEMENT,
134 "TBLOCK": SYMBOL_TEXTSTATEMENT, 134 "TBLOCK": SYMBOL_TEXTSTATEMENT,
135 "<-": "⟵", # U+27F5: Unicode 3.2 (Supplemental Arrows-A) 135 "<-": u"⟵", # U+27F5: Unicode 3.2 (Supplemental Arrows-A)
136 "->": "⟶", # U+27F6: Unicode 3.2 (Supplemental Arrows-A) 136 "->": u"⟶", # U+27F6: Unicode 3.2 (Supplemental Arrows-A)
137 "<->": "⟷", # U+27F7: Unicode 3.2 (Supplemental Arrows-A) 137 "<->": u"⟷", # U+27F7: Unicode 3.2 (Supplemental Arrows-A)
138 # "=>": "⟹", # U+27F9: Unicode 3.2 (Supplemental Arrows-A) 138 # "=>": u"⟹", # U+27F9: Unicode 3.2 (Supplemental Arrows-A)
139 # "<=>": "⟺", # U+27FA: Unicode 3.2 (Supplemental Arrows-A) 139 # "<=>": u"⟺", # U+27FA: Unicode 3.2 (Supplemental Arrows-A)
140 # "<-": "←", # U+2190: Unicode 1.0 (Arrows) 140 # "<-": u"←", # U+2190: Unicode 1.0 (Arrows)
141 # "->": "→", # U+2192: Unicode 1.0 (Arrows) 141 # "->": u"→", # U+2192: Unicode 1.0 (Arrows)
142 # "<->": "↔", # U+2194: Unicode 1.0 (Arrows) 142 # "<->": u"↔", # U+2194: Unicode 1.0 (Arrows)
143 "=>": "⇒", # U+21D2: Unicode 1.0 (Arrows) 143 "=>": u"⇒", # U+21D2: Unicode 1.0 (Arrows)
144 "<=>": "⇔", # U+21D4: Unicode 1.0 (Arrows) 144 "<=>": u"⇔", # U+21D4: Unicode 1.0 (Arrows)
145 "<=": "≤", # U+2264: Unicode 1.0 (Mathematical Operators) 145 "<=": u"≤", # U+2264: Unicode 1.0 (Mathematical Operators)
146 ">=": "≥", # U+2265: Unicode 1.0 (Mathematical Operators) 146 ">=": u"≥", # U+2265: Unicode 1.0 (Mathematical Operators)
147 "<>": "≠", # U+2260: Unicode 1.0 (Mathematical Operators) 147 "<>": u"≠", # U+2260: Unicode 1.0 (Mathematical Operators)
148 "!=": "≠", # U+2260: Unicode 1.0 (Mathematical Operators) 148 "!=": u"≠", # U+2260: Unicode 1.0 (Mathematical Operators)
149 ":=": "∶=", # "≔" U+2254 not recognizable in my (small) mono font 149 ":=": u"∶=", # "≔" U+2254 not recognizable in my (small) mono font
150 "=:": "=∶", # "≕" U+2255 not recognizable in my (small) mono font 150 "=:": u"=∶", # "≕" U+2255 not recognizable in my (small) mono font
151 "?=": "≟", # U+225F: Unicode 1.0 (Mathematical Operators) 151 "?=": u"≟", # U+225F: Unicode 1.0 (Mathematical Operators)
152 } 152 }
153 153
154 def op_translate(toktype): 154 def op_translate(toktype):
155 155
156 def _op_translate(lexer, match, ctx=None): 156 def _op_translate(lexer, match, ctx=None):