# HG changeset patch # User Franz Glasner # Date 1778161753 -7200 # Node ID 380d2607d5c75b2a207c97d0f646a4affa5e4081 # Parent b4688f6cc7b1df19e9cfec014fb988da2e8fbf9d Implement the "\NAME" command. Implemented just as \CALL it is better named for just highlighting entity names properly. \CALL suggests a function or procedure call. diff -r b4688f6cc7b1 -r 380d2607d5c7 pygments_lexer_pseudocode2/algpseudocode.py --- a/pygments_lexer_pseudocode2/algpseudocode.py Thu May 07 14:35:48 2026 +0200 +++ b/pygments_lexer_pseudocode2/algpseudocode.py Thu May 07 15:49:13 2026 +0200 @@ -361,7 +361,7 @@ include("escaped-string-start"), include("py-strings"), include("py-numbers"), - (r"(?i)\\call[ \t]*(\{)", LexBase.op_ignore, "entity-name"), + (r"(?i)\\(call|name)[ \t]*(\{)", LexBase.op_ignore, "entity-name"), (r"(?i)\\gets\b", op_gets), (r"(?i)\\text[ \t]*\{", LexBase.op_ignore, "text-in-expr"), include("explicit-tokentype"), @@ -378,7 +378,7 @@ include("escaped-string-start"), include("py-strings"), include("py-numbers"), - (r"(?i)\\call[ \t]*(\{)", LexBase.op_ignore, "entity-name"), + (r"(?i)\\(call|name)[ \t]*(\{)", LexBase.op_ignore, "entity-name"), (r"(?i)\\gets\b", op_gets), (r"(?i)\\text[ \t]*\{", LexBase.op_ignore, "text-in-expr"), include("explicit-tokentype"), diff -r b4688f6cc7b1 -r 380d2607d5c7 tests/test_algpseudo.py --- a/tests/test_algpseudo.py Thu May 07 14:35:48 2026 +0200 +++ b/tests/test_algpseudo.py Thu May 07 15:49:13 2026 +0200 @@ -938,6 +938,36 @@ pygments.lex(r"\TEXT{\EXPR{\CALL{a procedure}(arg1, arg2, arg3)}}", self.lexer)) + def test_name(self): + self.assertTokenStreamEqualComplete( + [("Name.Entity", "an entity"), + ("Punctuation", "("), + ("Name.Entity", "p1"), + ("Punctuation", ","), + ("Text", " "), + ("Name.Entity", "p2"), + ("Punctuation", ")"), + ("Text.Whitespace", "\n"), + ], + pygments.lex(r"\NAME{an entity}(p1, p2)", self.lexer)) + + def test_name_in_expr(self): + self.assertTokenStreamEqualComplete( + [("Name.Entity", "an entity"), + ("Punctuation", "("), + ("Name.Entity", "arg1"), + ("Punctuation", ","), + ("Text", " "), + ("Name.Entity", "arg2"), + ("Punctuation", ","), + ("Text", " "), + ("Name.Entity", "arg3"), + ("Punctuation", ")"), + ("Text.Whitespace", "\n"), + ], + pygments.lex(r"\TEXT{\EXPR{\NAME{an entity}(arg1, arg2, arg3)}}", + self.lexer)) + def test_comment_multi(self): self.assertTokenStreamEqualComplete( [("Comment.Multiline", "/*"),