Skip to content

Commit d199360

Browse files
committed
Improve support for constants
1 parent 6abe2b5 commit d199360

File tree

2 files changed

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

2 files changed

+37
-4
lines changed

src/Templates/highlight.php/php.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,36 @@
149149
"className": "attr",
150150
"begin": "[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])(?=:)(?=(?!::))"
151151
},
152+
{
153+
"variants": [
154+
{
155+
"begin": "::(?=(?!class\\b))[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])\\b(?!\\()",
156+
"returnBegin": true,
157+
"contains": [
158+
{
159+
"begin": "::"
160+
},
161+
{
162+
"className": "variable constant_",
163+
"begin": "[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])\\b(?!\\()"
164+
}
165+
]
166+
},
167+
{
168+
"begin": "::class",
169+
"returnBegin": true,
170+
"contains": [
171+
{
172+
"begin": "::"
173+
},
174+
{
175+
"className": "variable language_",
176+
"begin": "class"
177+
}
178+
]
179+
}
180+
]
181+
},
152182
{
153183
"$ref": "#contains.8",
154184
"_": "variable"
@@ -292,6 +322,9 @@
292322
}
293323
]
294324
},
325+
{
326+
"$ref": "#contains.9.contains.1.contains.1"
327+
},
295328
{
296329
"className": "class",
297330
"variants": [

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<span class="hljs-keyword">return</span> <span class="hljs-keyword">static</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-params">(RoutingConfigurator <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>routes</span>)</span>: <span class="hljs-title">void</span> </span>{
1818
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>routes</span>-&gt;<span class="hljs-title invoke__">add</span>(<span class="hljs-string">'about_us'</span>, [<span class="hljs-string">'nl'</span> =&gt; <span class="hljs-string">'/over-ons'</span>, <span class="hljs-string">'en'</span> =&gt; <span class="hljs-string">'/about-us'</span>])
19-
-&gt;<span class="hljs-title invoke__">controller</span>(<span class="hljs-title class_">CompanyController</span>::<span class="hljs-keyword">class</span> <span class="hljs-string">'::about'</span>);
19+
-&gt;<span class="hljs-title invoke__">controller</span>(CompanyController::<span class="hljs-variable language_">class</span>.<span class="hljs-string">'::about'</span>);
2020
};</code></pre>
2121
</div>
2222
</div>
@@ -49,9 +49,9 @@
4949
{
5050
<span class="hljs-comment">// Translate enum using custom labels</span>
5151
<span class="hljs-keyword">return</span> <span class="hljs-keyword">match</span> (<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>this</span>) {
52-
<span class="hljs-keyword">self</span>::Left =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>translator</span>-&gt;<span class="hljs-title invoke__">trans</span>(<span class="hljs-string">'text_align.left.label'</span>, <span class="hljs-attr">locale</span>: <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>locale</span>),
53-
<span class="hljs-keyword">self</span>::Center =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>translator</span>-&gt;<span class="hljs-title invoke__">trans</span>(<span class="hljs-string">'text_align.center.label'</span>, <span class="hljs-attr">locale</span>: <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>locale</span>),
54-
<span class="hljs-keyword">self</span>::Right =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>translator</span>-&gt;<span class="hljs-title invoke__">trans</span>(<span class="hljs-string">'text_align.right.label'</span>, <span class="hljs-attr">locale</span>: <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>locale</span>),
52+
<span class="hljs-keyword">self</span>::<span class="hljs-variable constant_">Left</span> =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>translator</span>-&gt;<span class="hljs-title invoke__">trans</span>(<span class="hljs-string">'text_align.left.label'</span>, <span class="hljs-attr">locale</span>: <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>locale</span>),
53+
<span class="hljs-keyword">self</span>::<span class="hljs-variable constant_">Center</span> =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>translator</span>-&gt;<span class="hljs-title invoke__">trans</span>(<span class="hljs-string">'text_align.center.label'</span>, <span class="hljs-attr">locale</span>: <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>locale</span>),
54+
<span class="hljs-keyword">self</span>::<span class="hljs-variable constant_">Right</span> =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>translator</span>-&gt;<span class="hljs-title invoke__">trans</span>(<span class="hljs-string">'text_align.right.label'</span>, <span class="hljs-attr">locale</span>: <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>locale</span>),
5555
};
5656
}
5757
}

0 commit comments

Comments
 (0)