Skip to content

Commit 90f71c1

Browse files
committed
Improve support for constants
1 parent 4a78ed9 commit 90f71c1

File tree

2 files changed

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

2 files changed

+38
-4
lines changed

src/Templates/highlight.php/php.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,36 @@
163163
"className": "attr",
164164
"begin": "[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])(?=:)(?=(?!::))"
165165
},
166+
{
167+
"variants": [
168+
{
169+
"begin": "::(?=(?!class\\b))[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])\\b(?!\\()",
170+
"returnBegin": true,
171+
"contains": [
172+
{
173+
"begin": "::"
174+
},
175+
{
176+
"className": "variable constant_",
177+
"begin": "[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![$])\\b(?!\\()"
178+
}
179+
]
180+
},
181+
{
182+
"begin": "::class",
183+
"returnBegin": true,
184+
"contains": [
185+
{
186+
"begin": "::"
187+
},
188+
{
189+
"className": "variable language_",
190+
"begin": "class"
191+
}
192+
]
193+
}
194+
]
195+
},
166196
{
167197
"$ref": "#contains.9",
168198
"_": "variable"
@@ -315,6 +345,10 @@
315345
}
316346
]
317347
},
348+
{
349+
"$ref": "#contains.10.contains.1.contains.1",
350+
"_": "constant"
351+
},
318352
{
319353
"className": "class",
320354
"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)