Skip to content

Commit 1c4ff37

Browse files
committed
Copy of php.json language definition from version 9.15.8.0 of highlight.php
1 parent 143f9c4 commit 1c4ff37

File tree

1 file changed

+271
-0
lines changed

1 file changed

+271
-0
lines changed

src/Templates/highlight.php/php.json

Lines changed: 271 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
{
2+
"aliases": [
3+
"php",
4+
"php3",
5+
"php4",
6+
"php5",
7+
"php6",
8+
"php7"
9+
],
10+
"case_insensitive": true,
11+
"keywords": "and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",
12+
"contains": [
13+
{
14+
"className": "comment",
15+
"begin": "#",
16+
"end": "$",
17+
"contains": [
18+
{
19+
"begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
20+
},
21+
{
22+
"className": "doctag",
23+
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
24+
"relevance": 0
25+
}
26+
]
27+
},
28+
{
29+
"className": "comment",
30+
"begin": "//",
31+
"end": "$",
32+
"contains": [
33+
{
34+
"className": "meta",
35+
"begin": "<\\?(php)?|\\?>"
36+
},
37+
{
38+
"$ref": "#contains.0.contains.0"
39+
},
40+
{
41+
"className": "doctag",
42+
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
43+
"relevance": 0
44+
}
45+
]
46+
},
47+
{
48+
"className": "comment",
49+
"begin": "/\\*",
50+
"end": "\\*/",
51+
"contains": [
52+
{
53+
"className": "doctag",
54+
"begin": "@[A-Za-z]+"
55+
},
56+
{
57+
"$ref": "#contains.0.contains.0"
58+
},
59+
{
60+
"className": "doctag",
61+
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
62+
"relevance": 0
63+
}
64+
]
65+
},
66+
{
67+
"className": "comment",
68+
"begin": "__halt_compiler.+?;",
69+
"end": false,
70+
"contains": [
71+
{
72+
"$ref": "#contains.0.contains.0"
73+
},
74+
{
75+
"className": "doctag",
76+
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
77+
"relevance": 0
78+
}
79+
],
80+
"endsWithParent": true,
81+
"keywords": "__halt_compiler",
82+
"lexemes": "[a-zA-Z_]\\w*"
83+
},
84+
{
85+
"className": "string",
86+
"begin": "<<<['\"]?\\w+['\"]?$",
87+
"end": "^\\w+;?$",
88+
"contains": [
89+
{
90+
"begin": "\\\\[\\s\\S]",
91+
"relevance": 0
92+
},
93+
{
94+
"className": "subst",
95+
"variants": [
96+
{
97+
"begin": "\\$\\w+"
98+
},
99+
{
100+
"begin": "\\{\\$",
101+
"end": "\\}"
102+
}
103+
]
104+
}
105+
]
106+
},
107+
{
108+
"$ref": "#contains.1.contains.0"
109+
},
110+
{
111+
"className": "keyword",
112+
"begin": "\\$this\\b"
113+
},
114+
{
115+
"begin": "\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"
116+
},
117+
{
118+
"begin": "(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*"
119+
},
120+
{
121+
"className": "function",
122+
"beginKeywords": "function",
123+
"end": "[;{]",
124+
"excludeEnd": true,
125+
"illegal": "\\$|\\[|%",
126+
"contains": [
127+
{
128+
"className": "title",
129+
"begin": "[a-zA-Z_]\\w*",
130+
"relevance": 0
131+
},
132+
{
133+
"className": "params",
134+
"begin": "\\(",
135+
"end": "\\)",
136+
"contains": [
137+
"self",
138+
{
139+
"$ref": "#contains.7"
140+
},
141+
{
142+
"className": "comment",
143+
"begin": "/\\*",
144+
"end": "\\*/",
145+
"contains": [
146+
{
147+
"$ref": "#contains.0.contains.0"
148+
},
149+
{
150+
"className": "doctag",
151+
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
152+
"relevance": 0
153+
}
154+
]
155+
},
156+
{
157+
"className": "string",
158+
"contains": [
159+
{
160+
"$ref": "#contains.4.contains.0"
161+
},
162+
{
163+
"$ref": "#contains.1.contains.0"
164+
}
165+
],
166+
"variants": [
167+
{
168+
"begin": "b\"",
169+
"end": "\""
170+
},
171+
{
172+
"begin": "b'",
173+
"end": "'"
174+
},
175+
{
176+
"className": "string",
177+
"begin": "'",
178+
"end": "'",
179+
"illegal": null,
180+
"contains": [
181+
{
182+
"$ref": "#contains.4.contains.0"
183+
}
184+
]
185+
},
186+
{
187+
"className": "string",
188+
"begin": "\"",
189+
"end": "\"",
190+
"illegal": null,
191+
"contains": [
192+
{
193+
"$ref": "#contains.4.contains.0"
194+
},
195+
{
196+
"className": "subst",
197+
"begin": "\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",
198+
"relevance": 0
199+
},
200+
{
201+
"className": "subst",
202+
"begin": "\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",
203+
"relevance": 0
204+
}
205+
]
206+
}
207+
]
208+
},
209+
{
210+
"variants": [
211+
{
212+
"className": "number",
213+
"begin": "\\b(0b[01]+)",
214+
"relevance": 0
215+
},
216+
{
217+
"className": "number",
218+
"begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
219+
"relevance": 0
220+
}
221+
]
222+
}
223+
]
224+
}
225+
]
226+
},
227+
{
228+
"className": "class",
229+
"beginKeywords": "class interface",
230+
"end": "{",
231+
"excludeEnd": true,
232+
"illegal": "[:\\(\\$\"]",
233+
"contains": [
234+
{
235+
"beginKeywords": "extends implements"
236+
},
237+
{
238+
"$ref": "#contains.9.contains.0"
239+
}
240+
]
241+
},
242+
{
243+
"beginKeywords": "namespace",
244+
"end": ";",
245+
"illegal": "[\\.']",
246+
"contains": [
247+
{
248+
"$ref": "#contains.9.contains.0"
249+
}
250+
]
251+
},
252+
{
253+
"beginKeywords": "use",
254+
"end": ";",
255+
"contains": [
256+
{
257+
"$ref": "#contains.9.contains.0"
258+
}
259+
]
260+
},
261+
{
262+
"begin": "=>"
263+
},
264+
{
265+
"$ref": "#contains.9.contains.1.contains.3"
266+
},
267+
{
268+
"$ref": "#contains.9.contains.1.contains.4"
269+
}
270+
]
271+
}

0 commit comments

Comments
 (0)