Skip to content

Commit ef67457

Browse files
committed
update rules and tests
1 parent 98365ba commit ef67457

File tree

2 files changed

+61
-17
lines changed

2 files changed

+61
-17
lines changed

php-ts-mode.el

+8-16
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,7 @@ see https://www.php.net/manual/language.constants.predefined.php")
165165
(:match ,(rx bos (? "_") (in "A-Z") (+ (in "0-9A-Z_")) eos)
166166
@php-constant))
167167
(class_constant_access_expression
168-
(name) @php-class)
169-
(class_constant_access_expression
170-
(qualified_name
171-
(namespace_name_as_prefix) @php-class
172-
(name) @php-class))
168+
[(name) (qualified_name)] @php-class)
173169
[(boolean)
174170
(null)]
175171
@php-constant
@@ -179,6 +175,7 @@ see https://www.php.net/manual/language.constants.predefined.php")
179175

180176
:language 'php
181177
:feature 'definition
178+
:override t
182179
`((class_declaration
183180
name: (name) @php-class)
184181
(interface_declaration
@@ -189,32 +186,27 @@ see https://www.php.net/manual/language.constants.predefined.php")
189186
name: (name) @php-class)
190187
(enum_case
191188
name: (name) @php-class)
192-
(base_clause (name) @php-class)
189+
(base_clause [(name) (qualified_name)] @php-class)
193190
(use_declaration (name) @php-class))
194191

195192
:language 'php
196193
:feature 'function
194+
:override t
197195
`((array_creation_expression "array" @php-builtin)
198196
(list_literal "list" @php-builtin)
199197
(method_declaration
200198
name: (name) @php-function-name)
201199
(function_call_expression
202200
function: [(qualified_name (name)) (name)] @php-function-call)
203201
(scoped_call_expression
204-
scope: (name) @php-class)
205-
(scoped_call_expression
202+
scope: [(name) (qualified_name)] @php-class
206203
name: (name) @php-static-method-call)
207204
(scoped_property_access_expression
208-
scope: (name) @php-class)
205+
scope: [(name) (qualified_name)] @php-class)
209206
(member_call_expression
210207
name: (name) @php-method-call)
211-
(object_creation_expression (name) @php-class)
212-
(object_creation_expression
213-
(qualified_name (namespace_name_as_prefix) @php-class
214-
(name) @php-class))
215-
(attribute (name) @php-class)
216-
(attribute (qualified_name) @php-class)
217-
208+
(object_creation_expression [(name) (qualified_name)] @php-class)
209+
(attribute [(name) (qualified_name)] @php-class)
218210
(function_definition
219211
name: (name) @php-function-name))
220212

tests/php-ts-mode-resources/face.erts

+53-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class Ba|sic {}
5050
php-class
5151
=-=-=
5252

53-
Name: Class base clause
53+
Name: Base clause
5454
No-After-Newline: t
5555

5656
=-=
@@ -60,6 +60,16 @@ class Basic extends Par|ent{}
6060
php-class
6161
=-=-=
6262

63+
Name: Base clause with qualified name
64+
No-After-Newline: t
65+
66+
=-=
67+
<?php
68+
class Test extends \test\T|est {}
69+
=-=
70+
php-class
71+
=-=-=
72+
6373
Name: This sigil
6474
No-After-Newline: t
6575

@@ -100,6 +110,16 @@ No-After-Newline: t
100110
php-class
101111
=-=-=
102112

113+
Name: Scoped propery access with qualified name
114+
No-After-Newline: t
115+
116+
=-=
117+
<?php
118+
\Te|st::$test;
119+
=-=
120+
php-class
121+
=-=-=
122+
103123
Name: Class constant access with qualified name
104124
No-After-Newline: t
105125

@@ -141,3 +161,35 @@ $t = new |\Test();
141161
=-=
142162
php-class
143163
=-=-=
164+
165+
Name: Scoped call expression with qualified name
166+
No-After-Newline: t
167+
168+
=-=
169+
<?php
170+
\Te|st::test();
171+
=-=
172+
php-class
173+
=-=-=
174+
175+
Name: Attribute name
176+
No-After-Newline: t
177+
178+
=-=
179+
<?php
180+
#[At|tr]
181+
class Test {}
182+
=-=
183+
php-class
184+
=-=-=
185+
186+
Name: Attribute qualified name
187+
No-After-Newline: t
188+
189+
=-=
190+
<?php
191+
#[\At|tr]
192+
class Test {}
193+
=-=
194+
php-class
195+
=-=-=

0 commit comments

Comments
 (0)