summaryrefslogtreecommitdiff
path: root/pygments
diff options
context:
space:
mode:
authorRichard van Velzen <richard@goreply.com>2023-03-01 00:09:29 +0100
committerGitHub <noreply@github.com>2023-03-01 00:09:29 +0100
commit3cf25c36fce6ea55759c781a517ce95a89a267bb (patch)
tree00597dfe49611612b46f7f93b9aab8bcb70fc921 /pygments
parent5b96a7f12bff42234054fd3a3f6751c1ac3aed18 (diff)
downloadpygments-git-3cf25c36fce6ea55759c781a517ce95a89a267bb.tar.gz
Improve lexing PHP attributes (#2360)
Diffstat (limited to 'pygments')
-rw-r--r--pygments/lexers/php.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/pygments/lexers/php.py b/pygments/lexers/php.py
index 702bdd8d..4ee9bdd1 100644
--- a/pygments/lexers/php.py
+++ b/pygments/lexers/php.py
@@ -192,7 +192,7 @@ class PhpLexer(RegexLexer):
bygroups(String, String, String.Delimiter, String, String.Delimiter,
Punctuation, Text)),
(r'\s+', Text),
- (r'#\[', Punctuation),
+ (r'#\[', Punctuation, 'attribute'),
(r'#.*?\n', Comment.Single),
(r'//.*?\n', Comment.Single),
# put the empty comment here, it is otherwise seen as
@@ -282,6 +282,16 @@ class PhpLexer(RegexLexer):
bygroups(String.Interpol, Name.Variable, String.Interpol)),
(r'[${\\]', String.Double)
],
+ 'attribute': [
+ (r'\]', Punctuation, '#pop'),
+ (r'\(', Punctuation, 'attributeparams'),
+ (_ident_inner, Name.Decorator),
+ include('php')
+ ],
+ 'attributeparams': [
+ (r'\)', Punctuation, '#pop'),
+ include('php')
+ ],
}
def __init__(self, **options):