1(php_tag) @tag
2"?>" @tag
3
4; Types
5
6(primitive_type) @type.builtin
7(cast_type) @type.builtin
8(named_type (name) @type) @type
9(named_type (qualified_name) @type) @type
10
11; Functions
12
13(array_creation_expression "array" @function.builtin)
14(list_literal "list" @function.builtin)
15
16(method_declaration
17 name: (name) @function.method)
18
19(function_call_expression
20 function: [(qualified_name (name)) (name)] @function)
21
22(scoped_call_expression
23 name: (name) @function)
24
25(member_call_expression
26 name: (name) @function.method)
27
28(function_definition
29 name: (name) @function)
30
31; Member
32
33(property_element
34 (variable_name) @property)
35
36(member_access_expression
37 name: (variable_name (name)) @property)
38(member_access_expression
39 name: (name) @property)
40
41; Variables
42
43(relative_scope) @variable.builtin
44
45((name) @constant
46 (#match? @constant "^_?[A-Z][A-Z\\d_]+$"))
47((name) @constant.builtin
48 (#match? @constant.builtin "^__[A-Z][A-Z\d_]+__$"))
49
50((name) @constructor
51 (#match? @constructor "^[A-Z]"))
52
53((name) @variable.builtin
54 (#eq? @variable.builtin "this"))
55
56(variable_name) @variable
57
58; Basic tokens
59[
60 (string)
61 (string_value)
62 (encapsed_string)
63 (heredoc)
64 (heredoc_body)
65 (nowdoc_body)
66] @string
67(boolean) @constant.builtin
68(null) @constant.builtin
69(integer) @number
70(float) @number
71(comment) @comment
72
73"$" @operator
74
75; Keywords
76
77"abstract" @keyword
78"and" @keyword
79"as" @keyword
80"break" @keyword
81"callable" @keyword
82"case" @keyword
83"catch" @keyword
84"class" @keyword
85"clone" @keyword
86"const" @keyword
87"continue" @keyword
88"declare" @keyword
89"default" @keyword
90"do" @keyword
91"echo" @keyword
92"else" @keyword
93"elseif" @keyword
94"enum" @keyword
95"enddeclare" @keyword
96"endfor" @keyword
97"endforeach" @keyword
98"endif" @keyword
99"endswitch" @keyword
100"endwhile" @keyword
101"extends" @keyword
102"final" @keyword
103"readonly" @keyword
104"finally" @keyword
105"for" @keyword
106"foreach" @keyword
107"fn" @keyword
108"function" @keyword
109"global" @keyword
110"goto" @keyword
111"if" @keyword
112"implements" @keyword
113"include_once" @keyword
114"include" @keyword
115"instanceof" @keyword
116"insteadof" @keyword
117"interface" @keyword
118"match" @keyword
119"namespace" @keyword
120"new" @keyword
121"or" @keyword
122"print" @keyword
123"private" @keyword
124"protected" @keyword
125"public" @keyword
126"readonly" @keyword
127"require_once" @keyword
128"require" @keyword
129"return" @keyword
130"static" @keyword
131"switch" @keyword
132"throw" @keyword
133"trait" @keyword
134"try" @keyword
135"use" @keyword
136"while" @keyword
137"xor" @keyword