comparison pygments_lexer_pseudocode2/algpseudocode.py @ 76:27e12387154d

FIX: Handle escape character more thoroughly: also explicitely handle "\\"
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 30 Apr 2026 09:20:35 +0200
parents 711f8d19e27a
children 1a5e192aa950
comparison
equal deleted inserted replaced
75:711f8d19e27a 76:27e12387154d
195 bygroups(op_symbol(Comment.Single), Comment.Single)), 195 bygroups(op_symbol(Comment.Single), Comment.Single)),
196 ], 196 ],
197 "entity-name": [ # may be multiline 197 "entity-name": [ # may be multiline
198 (r"[^\\}]+", Name.Entity), 198 (r"[^\\}]+", Name.Entity),
199 (r"\\\}", LexBase.op_fixed(Name.Entity, "}")), 199 (r"\\\}", LexBase.op_fixed(Name.Entity, "}")),
200 (r"\\\\", LexBase.op_fixed(Name.Entity, "\\")),
200 (r"\\", LexBase.op_fixed(Name.Entity, "\\")), 201 (r"\\", LexBase.op_fixed(Name.Entity, "\\")),
201 (r"\}", LexBase.op_ignore, "#pop"), 202 (r"\}", LexBase.op_ignore, "#pop"),
202 ], 203 ],
203 "entity-name-end": [ # may be multiline -- suppressed if no_end 204 "entity-name-end": [ # may be multiline -- suppressed if no_end
204 (r"[^\\}]+", op_opt_ignore(Name.Entity)), 205 (r"[^\\}]+", op_opt_ignore(Name.Entity)),
205 (r"\\\}", op_opt_ignore_or_fixed(Name.Entity, "}")), 206 (r"\\\}", op_opt_ignore_or_fixed(Name.Entity, "}")),
207 (r"\\\\", op_opt_ignore_or_fixed(Name.Entity, "\\")),
206 (r"\\", op_opt_ignore_or_fixed(Name.Entity, "\\")), 208 (r"\\", op_opt_ignore_or_fixed(Name.Entity, "\\")),
207 (r"\}", LexBase.op_ignore, "#pop"), 209 (r"\}", LexBase.op_ignore, "#pop"),
208 ], 210 ],
209 "expr": [ 211 "expr": [
210 include("punctuation"), 212 include("punctuation"),
218 ], 220 ],
219 "block-expr": [ # somewhat similar to "root" 221 "block-expr": [ # somewhat similar to "root"
220 (r"\}", LexBase.op_ignore, "#pop"), 222 (r"\}", LexBase.op_ignore, "#pop"),
221 (r"\n", Whitespace), 223 (r"\n", Whitespace),
222 include("expr-in-braces"), 224 include("expr-in-braces"),
225 (r"\\\\", LexBase.op_fixed(Text, "\\")),
226 (r"\\", LexBase.op_fixed(Text, "\\")),
223 (r"\s+", Text), 227 (r"\s+", Text),
224 ], 228 ],
225 "expr-in-braces": [ 229 "expr-in-braces": [
226 include("punctuation-in-braces"), 230 include("punctuation-in-braces"),
227 include("py-strings"), 231 include("py-strings"),