Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
diff pygments_lexer_pseudocode2/algpseudocode.py @ 65:3f4223a79d2b
Normalize whitespace handling for entity names
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 28 Apr 2026 13:05:15 +0200 |
| parents | 05c53e431c88 |
| children | 5517b0be67f0 |
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/algpseudocode.py Tue Apr 28 12:40:02 2026 +0200 +++ b/pygments_lexer_pseudocode2/algpseudocode.py Tue Apr 28 13:05:15 2026 +0200 @@ -113,6 +113,14 @@ return _op_opt_ignore + def op_opt_ignore_or_space(lexer, match, ctx=None): + """Yield a single whitespace ' ' or nothing -- depending on the lexer's + `no_end` setting. + + """ + if not lexer.no_end: + yield match.start(), Whitespace, " " + def op_symbol(toktype): def _op_symbol(lexer, match, ctx=None): @@ -137,8 +145,8 @@ r"|(?:proc(?:edure)?)" r"|(?:func(?:tion)?|(?:fn))" r"|(?:class)" - r")(\s*)(\{)", - bygroups(op_translate(Keyword), Whitespace, LexBase.op_ignore), + r")\s*(\{)", + bygroups(op_translate(Keyword), LexBase.op_space), "entity-name"), # ENDxxx keywords with optional entity name # with name @@ -148,10 +156,9 @@ r"|(?:proc(?:edure)?)" r"|(?:func(?:tion)?)" r"|(?:class)" - r")(\s*)(\{)", + r")\s*(\{)", bygroups(op_opt_end_translate(Keyword), - op_opt_ignore(Whitespace), - LexBase.op_ignore), + op_opt_ignore_or_space), "entity-name-end"), # without name (r"(?i)\\end(?:_|-)?("
