Skip to content

Commit ba7a6d9

Browse files
committed
Add support for arrow functions
1 parent a009e68 commit ba7a6d9

File tree

2 files changed

+36
-16
lines changed
  • src/Templates/highlight.php
  • tests/fixtures/expected/blocks/code-blocks

2 files changed

+36
-16
lines changed

src/Templates/highlight.php/php.json

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
"end": "\\)",
2929
"keywords": "true false null new array",
3030
"contains": {
31-
"$ref": "#contains.11.contains.1.contains"
31+
"$ref": "#contains.11.contains.3.contains",
32+
"_": "params"
3233
}
3334
},
3435
{
@@ -163,23 +164,27 @@
163164
"begin": "[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])(?=:)(?=(?!::))"
164165
},
165166
{
166-
"$ref": "#contains.8",
167+
"$ref": "#contains.9",
167168
"_": "variable"
168169
},
169170
{
170-
"$ref": "#contains.10.contains.1.contains.2",
171+
"$ref": "#contains.11.contains.3.contains.2",
171172
"_": "comment"
172173
},
173174
{
174-
"$ref": "#contains.10.contains.1.contains.3",
175+
"$ref": "#contains.11.contains.3.contains.3",
175176
"_": "string"
176177
},
177178
{
178-
"$ref": "#contains.10.contains.1.contains.4",
179+
"$ref": "#contains.11.contains.3.contains.4",
179180
"_": "number"
180181
},
181182
{
182-
"$ref": "#contains.9",
183+
"$ref": "#contains.11",
184+
"_": "closure"
185+
},
186+
{
187+
"$ref": "#contains.10",
183188
"_": "invoke"
184189
}
185190
]
@@ -188,16 +193,23 @@
188193
},
189194
{
190195
"className": "function",
191-
"beginKeywords": "function",
196+
"beginKeywords": "fn function",
192197
"end": "[;{]",
193198
"excludeEnd": true,
194199
"illegal": "\\$|\\[|%",
195200
"contains": [
201+
{
202+
"beginKeywords": "use"
203+
},
196204
{
197205
"className": "title",
198206
"begin": "[a-zA-Z_]\\w*",
199207
"relevance": 0
200208
},
209+
{
210+
"begin": "=>",
211+
"endsParent": true
212+
},
201213
{
202214
"className": "params",
203215
"begin": "\\(",
@@ -206,7 +218,8 @@
206218
"contains": [
207219
"self",
208220
{
209-
"$ref": "#contains.9"
221+
"$ref": "#contains.9",
222+
"_": "variable"
210223
},
211224
{
212225
"className": "comment",
@@ -291,10 +304,12 @@
291304
]
292305
},
293306
{
294-
"$ref": "#contains.0"
307+
"$ref": "#contains.0",
308+
"_": "simple-attribute"
295309
},
296310
{
297-
"$ref": "#contains.1"
311+
"$ref": "#contains.1",
312+
"_": "attribute"
298313
}
299314
]
300315
}
@@ -311,7 +326,8 @@
311326
"beginKeywords": "extends implements"
312327
},
313328
{
314-
"$ref": "#contains.11.contains.0"
329+
"$ref": "#contains.11.contains.1",
330+
"_": "title"
315331
}
316332
]
317333
},
@@ -321,7 +337,8 @@
321337
"illegal": "[\\.']",
322338
"contains": [
323339
{
324-
"$ref": "#contains.11.contains.0"
340+
"$ref": "#contains.11.contains.1",
341+
"_": "title"
325342
}
326343
]
327344
},
@@ -330,18 +347,21 @@
330347
"end": ";",
331348
"contains": [
332349
{
333-
"$ref": "#contains.11.contains.0"
350+
"$ref": "#contains.11.contains.1",
351+
"_": "title"
334352
}
335353
]
336354
},
337355
{
338356
"begin": "=>"
339357
},
340358
{
341-
"$ref": "#contains.11.contains.1.contains.3"
359+
"$ref": "#contains.11.contains.3.contains.3",
360+
"_": "string"
342361
},
343362
{
344-
"$ref": "#contains.11.contains.1.contains.4"
363+
"$ref": "#contains.11.contains.3.contains.4",
364+
"_": "number"
345365
}
346366
]
347367
}

tests/fixtures/expected/blocks/code-blocks/php.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585

8686
<span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">UserBadge</span>(
8787
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>payload</span>-&gt;<span class="hljs-title invoke__">getUserId</span>(),
88-
<span class="hljs-function"><span class="hljs-keyword">fn</span> <span class="hljs-params">(<span class="hljs-keyword">string</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>userIdentifier</span>)</span>: <span class="hljs-title">User</span></span> =&gt; <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">User</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>userIdentifier</span>, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>payload</span>-&gt;<span class="hljs-title invoke__">getRoles</span>())
88+
<span class="hljs-function"><span class="hljs-keyword">fn</span> <span class="hljs-params">(<span class="hljs-keyword">string</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>userIdentifier</span>)</span>: <span class="hljs-title">User</span> =&gt;</span> <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">User</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>userIdentifier</span>, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>payload</span>-&gt;<span class="hljs-title invoke__">getRoles</span>())
8989
);
9090

9191
<span class="hljs-comment">// or</span>

0 commit comments

Comments
 (0)