<h1>
ANSI color escape code highlighting
</h1>
-<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">‌██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">‌██</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">‌██</span> <span style="color: #cd3431; background-color: #cd3431">‌██</span> <span style="color: #2f83cc; background-color: #2f83cc">‌▓▓</span> <span style="color: #747474; background-color: #747474">‌▒▒</span>
+<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">██</span> <span style="color: #3bd267; background-color: #3bd267">██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">██</span> <span style="color: #cd3431; background-color: #cd3431">██</span> <span style="color: #2f83cc; background-color: #2f83cc">▓▓</span> <span style="color: #747474; background-color: #747474">▒▒</span>
-Leading zeros: <span style="color: #0f7403; background-color: #0f7403">‌▒▒</span> <span style="color: #0f7403">‌▒▒</span>
+Leading zeros: <span style="color: #0f7403; background-color: #0f7403">▒▒</span> <span style="color: #0f7403">▒▒</span>
-<span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌░░</span> <span style="color: #3bd267">‌▒▒</span> <span style="color: #3bd267">‌▓▓</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span></pre>
+<span style="color: #3bd267"> </span> <span style="color: #3bd267"> </span> <span style="color: #3bd267">░░</span> <span style="color: #3bd267">▒▒</span> <span style="color: #3bd267">▓▓</span> <span style="color: #3bd267; background-color: #3bd267">██</span></pre>
</div>
</div>
</div>
]
}
-_ansi_fg_color_re = re.compile('class="g g-AnsiForegroundColor([0-9a-f]{6})">')
-_ansi_fg_bg_color_re = re.compile('class="g g-AnsiForegroundBackgroundColor([0-9a-f]{6})">')
+_ansi_fg_color_re = re.compile('class="g g-AnsiForegroundColor([0-9a-f]{6})"')
+_ansi_fg_bg_color_re = re.compile('class="g g-AnsiForegroundBackgroundColor([0-9a-f]{6})"')
class HtmlAnsiFormatter(HtmlFormatter):
def wrap(self, source, outfile):
def _wrap_code(self, source):
for i, t in source:
if i == 1: # it's a line of formatted code
- # Add ZWNJ for before each character because otherwise it's
- # somehow impossible to wrap even with word-break: break-all.
- # Not sure why (and not sure if this is the best solution), but
- # had to ship a thing so there it is. Adding <wbr/> did not
- # help.
- t = _ansi_fg_bg_color_re.sub('style="color: #\\1; background-color: #\\1">‌', t)
- t = _ansi_fg_color_re.sub('style="color: #\\1">‌', t)
+ t = _ansi_fg_bg_color_re.sub('style="color: #\\1; background-color: #\\1"', t)
+ t = _ansi_fg_color_re.sub('style="color: #\\1"', t)
#t += 'H'
yield i, t
=>0x0c287fff8030: 00[<span class="g g-AnsiBrightBlue">fc</span>]<span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightBlue">fc</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span> <span class="g g-AnsiBrightRed">fa</span></pre>
<p>Console colors:</p>
-<pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">‌██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">‌██</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">‌██</span> <span style="color: #cd3431; background-color: #cd3431">‌██</span> <span style="color: #2f83cc; background-color: #2f83cc">‌▓▓</span> <span style="color: #747474; background-color: #747474">‌▒▒</span>
+<pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">██</span> <span style="color: #3bd267; background-color: #3bd267">██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">██</span> <span style="color: #cd3431; background-color: #cd3431">██</span> <span style="color: #2f83cc; background-color: #2f83cc">▓▓</span> <span style="color: #747474; background-color: #747474">▒▒</span>
-Leading zeros: <span style="color: #0f7403; background-color: #0f7403">‌▒▒</span> <span style="color: #0f7403">‌▒▒</span>
+Leading zeros: <span style="color: #0f7403; background-color: #0f7403">▒▒</span> <span style="color: #0f7403">▒▒</span>
-<span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌░░</span> <span style="color: #3bd267">‌▒▒</span> <span style="color: #3bd267">‌▓▓</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span></pre>
+<span style="color: #3bd267"> </span> <span style="color: #3bd267"> </span> <span style="color: #3bd267">░░</span> <span style="color: #3bd267">▒▒</span> <span style="color: #3bd267">▓▓</span> <span style="color: #3bd267; background-color: #3bd267">██</span></pre>
<pre class="m-code">// this language is not highlighted</pre>
<p>Properly preserve backslashes: <code class="m-code"><span class="k">\frac</span><span class="nb">{</span>a<span class="nb">}{</span>b<span class="nb">}</span></code> ... and backticks:
<code class="m-code"><span class="na">:ref:</span><span class="nv">`a function <os.path.join()>`</span></code></p>