Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
comparison pygments_lexer_pseudocode2/algpseudocode.py @ 64:05c53e431c88
Simplify case-handling for "BLOCK" and "REMARK"
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 28 Apr 2026 12:40:02 +0200 |
| parents | 7153e945a3d6 |
| children | 3f4223a79d2b |
comparison
equal
deleted
inserted
replaced
| 63:414bf3cbb152 | 64:05c53e431c88 |
|---|---|
| 74 # SYMBOL_BLOCK = "┃" # U+2503: Unicode 1.0 (Bow Drawing) | 74 # SYMBOL_BLOCK = "┃" # U+2503: Unicode 1.0 (Bow Drawing) |
| 75 # SYMBOL_BLOCK = "●" # U+25CF: Unicode 1.0 (Geometric Shapes) | 75 # SYMBOL_BLOCK = "●" # U+25CF: Unicode 1.0 (Geometric Shapes) |
| 76 SYMBOL_TEXTSTATEMENT = "■" # U+25A0: Unicode 1.0 (Geometric Shapes) | 76 SYMBOL_TEXTSTATEMENT = "■" # U+25A0: Unicode 1.0 (Geometric Shapes) |
| 77 SYMBOLS = { | 77 SYMBOLS = { |
| 78 "REMARK": SYMBOL_REMARK, | 78 "REMARK": SYMBOL_REMARK, |
| 79 "Remark": SYMBOL_REMARK, | |
| 80 "remark": SYMBOL_REMARK, | |
| 81 "REM": SYMBOL_REMARK, | 79 "REM": SYMBOL_REMARK, |
| 82 "Rem": SYMBOL_REMARK, | |
| 83 "rem": SYMBOL_REMARK, | |
| 84 "R": SYMBOL_REMARK, | |
| 85 "r": SYMBOL_REMARK, | |
| 86 "BLOCK": SYMBOL_BLOCK, | 80 "BLOCK": SYMBOL_BLOCK, |
| 87 "Block": SYMBOL_BLOCK, | |
| 88 "block": SYMBOL_BLOCK, | |
| 89 "TEXTSTATEMENT": SYMBOL_TEXTSTATEMENT, | 81 "TEXTSTATEMENT": SYMBOL_TEXTSTATEMENT, |
| 90 "TextStatement": SYMBOL_TEXTSTATEMENT, | |
| 91 "textstatement": SYMBOL_TEXTSTATEMENT, | |
| 92 "TSTATEMENT": SYMBOL_TEXTSTATEMENT, | 82 "TSTATEMENT": SYMBOL_TEXTSTATEMENT, |
| 93 "TStatement": SYMBOL_TEXTSTATEMENT, | |
| 94 "tstatement": SYMBOL_TEXTSTATEMENT, | |
| 95 "TSTATE": SYMBOL_TEXTSTATEMENT, | 83 "TSTATE": SYMBOL_TEXTSTATEMENT, |
| 96 "TState": SYMBOL_TEXTSTATEMENT, | |
| 97 "tstate": SYMBOL_TEXTSTATEMENT, | |
| 98 "TEXT": SYMBOL_TEXTSTATEMENT, | 84 "TEXT": SYMBOL_TEXTSTATEMENT, |
| 99 "Text": SYMBOL_TEXTSTATEMENT, | |
| 100 "text": SYMBOL_TEXTSTATEMENT, | |
| 101 } | 85 } |
| 102 | 86 |
| 103 def op_translate(toktype): | 87 def op_translate(toktype): |
| 104 | 88 |
| 105 def _op_translate(lexer, match, ctx=None): | 89 def _op_translate(lexer, match, ctx=None): |
| 130 return _op_opt_ignore | 114 return _op_opt_ignore |
| 131 | 115 |
| 132 def op_symbol(toktype): | 116 def op_symbol(toktype): |
| 133 | 117 |
| 134 def _op_symbol(lexer, match, ctx=None): | 118 def _op_symbol(lexer, match, ctx=None): |
| 135 kw = match.group() | 119 kw = match.group().upper() |
| 136 yield match.start(), toktype, lexer.SYMBOLS.get(kw, kw) | 120 yield match.start(), toktype, lexer.SYMBOLS.get(kw, kw) |
| 137 | 121 |
| 138 return _op_symbol | 122 return _op_symbol |
| 139 | 123 |
| 140 tokens = { | 124 tokens = { |
| 141 "root": [ | 125 "root": [ |
| 142 (r"\n", Whitespace), | 126 (r"\n", Whitespace), |
| 143 (r"/\*", Comment.Multiline, "multiline-nested-comment"), | 127 (r"/\*", Comment.Multiline, "multiline-nested-comment"), |
| 144 (r"//.*$", Comment.Single), | 128 (r"//.*$", Comment.Single), |
| 145 (r"(?:\\)(REMARK|Remark|remark|REM|Rem|rem|R|r)\b(.*)$", | 129 (r"(?i)\\(remark|rem)\b(.*)$", |
| 146 bygroups(op_symbol(Comment.Single), Comment.Single)), | 130 bygroups(op_symbol(Comment.Single), Comment.Single)), |
| 147 (r"(?:\\)(BLOCK|Block|block)\b(.*)$", | 131 (r"(?i)\\(block)\b(.*)$", |
| 148 bygroups(op_symbol(Text), Text)), | 132 bygroups(op_symbol(Text), Text)), |
| 149 (r"\\\n", Text), | 133 (r"\\\n", Text), |
| 150 (r"(?i)\\(" | 134 (r"(?i)\\(" |
| 151 r"(?:prog(?:ram)?)" | 135 r"(?:prog(?:ram)?)" |
| 152 r"|(?:algo(?:rithm)?)" | 136 r"|(?:algo(?:rithm)?)" |
