Skip to content

Commit fd77b3b

Browse files
committed
Adding Windows terminal support and test case for comments
1 parent 7da60e6 commit fd77b3b

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

src/Renderers/CodeNodeRenderer.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,9 @@ public function render(): string
7474
$highlightedCode = str_replace('<span class="hljs-variable">$', '<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>', $highlightedCode);
7575
}
7676

77-
if ('terminal' === $language && str_starts_with($highlightedCode, '$')) {
78-
$highlightedCode = '<span class="hljs-prompt">$</span>' . substr($highlightedCode, 1);
77+
if ('terminal' === $language) {
78+
$highlightedCode = preg_replace('/^\$/m', '<span class="hljs-prompt">$</span>', $highlightedCode);
79+
$highlightedCode = preg_replace('/^C:\\\&gt;/m', '<span class="hljs-prompt">C:\&gt;</span>', $highlightedCode);
7980
}
8081

8182
$numOfLines = \count(preg_split('/\r\n|\r|\n/', $highlightedCode));

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,28 @@
1717

1818
<div translate="no" class="notranslate codeblock codeblock-loc-1 codeblock-terminal codeblock-bash">
1919
<div class="codeblock-scroll">
20-
<pre class="codeblock-lines">1</pre>
20+
<pre class="codeblock-lines">1
21+
2</pre>
2122
<pre class="codeblock-code">
2223
<code>
2324
<span class="hljs-prompt">$</span> cowsay
2425
<span class="hljs-string">'eat more chicken'</span>
26+
<span class="hljs-prompt">$</span> cowsay
27+
<span class="hljs-string">'mmmm'</span>
28+
</code>
29+
</pre>
30+
</div>
31+
</div>
32+
33+
<div translate="no" class="notranslate codeblock codeblock-loc-1 codeblock-terminal codeblock-bash">
34+
<div class="codeblock-scroll">
35+
<pre class="codeblock-lines">1
36+
2
37+
3</pre>
38+
<pre class="codeblock-code">
39+
<code>
40+
<span class="hljs-prompt">C:\&gt;</span> CIV
41+
<span class="hljs-comment"># Civilization for DOS - my first computer game!</span>
2542
</code>
2643
</pre>
2744
</div>

tests/fixtures/source/blocks/code-blocks/terminal.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,10 @@
55
.. code-block:: terminal
66
77
$ cowsay 'eat more chicken'
8+
$ cowsay 'mmmm'
9+
10+
.. code-block:: terminal
11+
12+
C:\> CIV
13+
14+
# Civilization for DOS - my first computer game!

0 commit comments

Comments
 (0)