comparison pygments_lexer_pseudocode2/algpseudocode.py @ 104:ffe6ea2cf69b

Allow "\RETURN" and "\RETURNS" commands. \RETURN: the return statement \RETURNS: like \INPUTS or \OUTPUTS
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 04 May 2026 16:23:18 +0200
parents af97692501ea
children cec52d83869a
comparison
equal deleted inserted replaced
103:af97692501ea 104:ffe6ea2cf69b
64 "CLASS": "CLASS", 64 "CLASS": "CLASS",
65 "INPUT": "Input:", 65 "INPUT": "Input:",
66 "INPUTS": "Inputs:", 66 "INPUTS": "Inputs:",
67 "OUTPUT": "Output:", 67 "OUTPUT": "Output:",
68 "OUTPUTS": "Outputs:", 68 "OUTPUTS": "Outputs:",
69 "RETURN": "Return:",
70 "RETURNS": "Returns:", 69 "RETURNS": "Returns:",
71 "IS": "IS", 70 "IS": "IS",
72 "WITH": "WITH", 71 "WITH": "WITH",
73 "IF": "IF", 72 "IF": "IF",
74 "THEN": "THEN", 73 "THEN": "THEN",
82 "FORALL": "FOR ALL", 81 "FORALL": "FOR ALL",
83 "STEP": "STEP", 82 "STEP": "STEP",
84 "LOOP": "LOOP", 83 "LOOP": "LOOP",
85 "REPEAT": "REPEAT", 84 "REPEAT": "REPEAT",
86 "UNTIL": "UNTIL", 85 "UNTIL": "UNTIL",
86 "RETURN": "RETURN",
87 "BEGIN": "BEGIN", 87 "BEGIN": "BEGIN",
88 "END": "END", # not in END_TRANSLATIONS 88 "END": "END", # not in END_TRANSLATIONS
89 } 89 }
90 END_TRANSLATIONS = { 90 END_TRANSLATIONS = {
91 "PROG": "END OF PROGRAM", 91 "PROG": "END OF PROGRAM",
220 bygroups(op_symbol(Text), LexBase.op_fixed(Whitespace, " ")), 220 bygroups(op_symbol(Text), LexBase.op_fixed(Whitespace, " ")),
221 "text-statement"), 221 "text-statement"),
222 (r"(?i)\\(" 222 (r"(?i)\\("
223 r"(?:input(?:s)?)" 223 r"(?:input(?:s)?)"
224 r"|(?:output(?:s)?)" 224 r"|(?:output(?:s)?)"
225 r"|(?:return(?:s)?)" 225 r"|(?:returns)"
226 r")[ \t]*(\{)", 226 r")[ \t]*(\{)",
227 bygroups(op_translate(Keyword), 227 bygroups(op_translate(Keyword),
228 LexBase.op_fixed(Whitespace, " ")), 228 LexBase.op_fixed(Whitespace, " ")),
229 "text-statement"), 229 "text-statement"),
230 (r"(?i)\\(" 230 (r"(?i)\\("
238 r"|(?:for)" 238 r"|(?:for)"
239 r"|(?:step)" 239 r"|(?:step)"
240 r"|(?:loop)" 240 r"|(?:loop)"
241 r"|(?:repeat)" 241 r"|(?:repeat)"
242 r"|(?:until)" 242 r"|(?:until)"
243 r"|(?:return)"
243 r")\b", 244 r")\b",
244 bygroups(op_translate(Keyword))), 245 bygroups(op_translate(Keyword))),
245 (r"\\\n", Text), 246 (r"\\\n", Text),
246 (r"(?i)\\(" 247 (r"(?i)\\("
247 r"(?:prog(?:ram)?)" 248 r"(?:prog(?:ram)?)"