Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit 41ff847

Browse files
committed
WIP
1 parent f792eb9 commit 41ff847

File tree

1 file changed

+62
-42
lines changed

1 file changed

+62
-42
lines changed

grammars/tree-sitter-php.cson

Lines changed: 62 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ scopeName: 'text.html.php'
33
type: 'tree-sitter'
44
parser: 'tree-sitter-php'
55

6+
firstLineRegex: [
7+
'^\\s*<\\?([pP][hH][pP]|=|\\s|$)'
8+
]
9+
610
comments:
711
start: '#'
812

@@ -12,14 +16,26 @@ fileTypes: [
1216
]
1317

1418
folds: [
19+
{
20+
type: 'comment'
21+
}
1522
{
1623
start: {type: '{', index: 0},
1724
end: {'}', index: -1}
1825
}
26+
{
27+
type: ['class_declaration', 'interface_declaration']
28+
start: {type: '{'},
29+
end: {type: '}'}
30+
}
1931
{
2032
start: {type: '(', index: 0},
2133
end: {')', index: -1}
2234
}
35+
{
36+
start: {type: '[', index: 0},
37+
end: {']', index: -1}
38+
}
2339
]
2440

2541
scopes:
@@ -37,6 +53,7 @@ scopes:
3753

3854
'function_call_expression > qualified_name': 'entity.name.function'
3955
'variable_name': 'variable'
56+
'member_access_expression > name': 'variable.other.object.property'
4057

4158
'program': 'source.php'
4259
'ERROR': 'syntax-error'
@@ -49,6 +66,7 @@ scopes:
4966

5067
'function_definition > name': 'entity.name.function'
5168
'function_call_expression > name': 'entity.name.function'
69+
'"require_once", "require", "include_once", "include"': 'entity.name.function'
5270

5371
'method_declaration > name': 'entity.name.function'
5472
'method_declaration > function_definition > name': 'entity.name.function'
@@ -91,48 +109,50 @@ scopes:
91109
'"type"': 'storage.type.type'
92110
'cast_expression > cast_type': 'storage.type.cast'
93111

94-
'"+"': 'keyword.operator'
95-
'"-"': 'keyword.operator'
96-
'"*"': 'keyword.operator'
97-
'"/"': 'keyword.operator'
98-
'"%"': 'keyword.operator'
99-
'"**"': 'keyword.operator'
100-
'"=="': 'keyword.operator'
101-
'"==="': 'keyword.operator'
102-
'"!="': 'keyword.operator'
103-
'"!="': 'keyword.operator'
104-
'"!=="': 'keyword.operator'
105-
'"<"': 'keyword.operator'
106-
'">"': 'keyword.operator'
107-
'"<>"': 'keyword.operator'
108-
'"<="': 'keyword.operator'
109-
'">="': 'keyword.operator'
110-
'"<=>"': 'keyword.operator'
111-
'"&"': 'keyword.operator'
112-
'"|"': 'keyword.operator'
113-
'"^"': 'keyword.operator'
114-
'"~"': 'keyword.opeator'
115-
'"<<"': 'keyword.operator'
116-
'">>"': 'keyword.operator'
117-
'"++"': 'keyword.operator'
118-
'"--"': 'keyword.operator'
119-
'"and"': 'keyword.operator'
120-
'"or"': 'keyword.operator'
121-
'"xor"': 'keyword.operator'
122-
'"!"': 'keyword.operator'
123-
'"&&"': 'keyword.operator'
124-
'"||"': 'keyword.operator'
125-
'"."': 'keyword.operator'
126-
'"?"': 'keyword.operator'
127-
'":"': 'keyword.operator'
128-
'"??"': 'keyword.operator'
129-
'"as"': 'keyword.operator.logical'
130-
'"new"': 'keyword.other.new'
131-
'"clone"': 'keyword.other.clone'
132-
'"insteadof"': 'keyword.other.insteadof'
133-
'"instanceof"': 'keyword.operator.type'
134-
135-
'"."': 'meta.delimiter.property.period'
112+
'"+"': 'keyword.operator.php'
113+
'"-"': 'keyword.operator.php'
114+
'"*"': 'keyword.operator.php'
115+
'"/"': 'keyword.operator.php'
116+
'"%"': 'keyword.operator.php'
117+
'"**"': 'keyword.operator.php'
118+
'"="': 'keyword.operator.php'
119+
'"=="': 'keyword.operator.php'
120+
'"==="': 'keyword.operator.php'
121+
'"!="': 'keyword.operator.php'
122+
'"!="': 'keyword.operator.php'
123+
'"!=="': 'keyword.operator.php'
124+
'"<"': 'keyword.operator.php'
125+
'">"': 'keyword.operator.php'
126+
'"<>"': 'keyword.operator.php'
127+
'"<="': 'keyword.operator.php'
128+
'"=>"': 'keyword.operator.php'
129+
'">="': 'keyword.operator.php'
130+
'"<=>"': 'keyword.operator.php'
131+
'"&"': 'keyword.operator.php'
132+
'"|"': 'keyword.operator.php'
133+
'"^"': 'keyword.operator.php'
134+
'"~"': 'keyword.opeator.php'
135+
'"<<"': 'keyword.operator.php'
136+
'">>"': 'keyword.operator.php'
137+
'"++"': 'keyword.operator.php'
138+
'"--"': 'keyword.operator.php'
139+
'"and"': 'keyword.operator.php'
140+
'"or"': 'keyword.operator.php'
141+
'"xor"': 'keyword.operator.php'
142+
'"!"': 'keyword.operator.php'
143+
'"&&"': 'keyword.operator.php'
144+
'"||"': 'keyword.operator.php'
145+
'"."': 'keyword.operator.php'
146+
'"?"': 'keyword.operator.php'
147+
'":"': 'keyword.operator.php'
148+
'"??"': 'keyword.operator.php'
149+
'"as"': 'keyword.logical'
150+
'"new"': 'keyword.new'
151+
'"clone"': 'keyword.clone'
152+
'"insteadof"': 'keyword.insteadof'
153+
'"instanceof"': 'keyword.type'
154+
155+
'"->"': 'meta.delimiter.property.arrow'
136156
'","': 'meta.delimiter.object.comma'
137157

138158
'"if"': 'keyword.control'

0 commit comments

Comments
 (0)