diff options
author | Matthäus G. Chajdas <dev@anteru.net> | 2020-11-08 09:17:12 +0100 |
---|---|---|
committer | Matthäus G. Chajdas <dev@anteru.net> | 2020-11-08 09:17:12 +0100 |
commit | afa9e3be5a05a27ed2c8ac515a10e146a766ad15 (patch) | |
tree | 7ded6127136ac596ff7f1cfe92673e95a541db7a | |
parent | 255442ae96a5f283f05f246a9827beecc9612c26 (diff) | |
download | pygments-git-afa9e3be5a05a27ed2c8ac515a10e146a766ad15.tar.gz |
Fix Mason regex.
Previously, the tag was cut off.
-rw-r--r-- | pygments/lexers/templates.py | 5 | ||||
-rw-r--r-- | tests/test_templates.py | 3 |
2 files changed, 3 insertions, 5 deletions
diff --git a/pygments/lexers/templates.py b/pygments/lexers/templates.py index 9461b425..968504ab 100644 --- a/pygments/lexers/templates.py +++ b/pygments/lexers/templates.py @@ -537,9 +537,8 @@ class MasonLexer(RegexLexer): (r'(?s)(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)', bygroups(Name.Tag, Text, Name.Function, Name.Tag, using(this), Name.Tag)), - (r'(?s)<%(\w+)(.*?)(>)(.*?)(</%\1\s*>)', - bygroups(Name.Tag, Name.Function, Name.Tag, - using(PerlLexer), Name.Tag)), + (r'(?s)(<%(\w+)(.*?)(>))(.*?)(</%\2\s*>)', + bygroups(Name.Tag, None, None, None, using(PerlLexer), Name.Tag)), (r'(?s)(<&[^|])(.*?)(,.*?)?(&>)', bygroups(Name.Tag, Name.Function, using(PerlLexer), Name.Tag)), (r'(?s)(<&\|)(.*?)(,.*?)?(&>)', diff --git a/tests/test_templates.py b/tests/test_templates.py index 5b4d90b2..fb6a5072 100644 --- a/tests/test_templates.py +++ b/tests/test_templates.py @@ -45,8 +45,7 @@ def test_mason_unnamed_block(lexerMason): def test_mason_handles_tags_correctly(lexerMason): fragment = "<%class>\nhas 'foo';\nhas 'bar' => (required => 1);\nhas 'baz' => (isa => 'Int', default => 17);\n</%class>\n" tokens = [ - (Token.Name.Tag, 'class'), - (Token.Name.Tag, '>'), + (Token.Name.Tag, '<%class>'), (Token.Text, '\n'), (Token.Name, ''), (Token.Name, 'has'), |