Skip to content

Commit

Permalink
Merge pull request #2304 from pygments/fix-emit-empty-whitespace-span…
Browse files Browse the repository at this point in the history
…s-html-formatter

Stop the HTML formatter from emitting empty whitespace spans.
  • Loading branch information
Anteru committed Dec 11, 2022
2 parents 147b22f + 6765ec0 commit 10d85c4
Show file tree
Hide file tree
Showing 129 changed files with 388 additions and 386 deletions.
6 changes: 4 additions & 2 deletions pygments/formatters/html.py
Expand Up @@ -878,10 +878,12 @@ def _format_lines(self, tokensource):
# for all but the last line
for part in parts[:-1]:
if line:
if lspan != cspan:
# Also check for part being non-empty, so we avoid creating
# empty <span> tags
if lspan != cspan and part:
line.extend(((lspan and '</span>'), cspan, part,
(cspan and '</span>'), lsep))
else: # both are the same
else: # both are the same, or the current part was empty
line.extend((part, (lspan and '</span>'), lsep))
yield 1, ''.join(line)
line = []
Expand Down
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos">3</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos">3</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos">3</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos">3</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos">1</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">3</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos">1</span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos">3</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">3</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos">3</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos special">3</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos special">3</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos special">3</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos">1</span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos special">3</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos">1</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos special">3</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos">1</span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos special">3</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos special">3</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos special">3</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos"> 9</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos"> 9</span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos"> 9</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos"> 9</span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos"> 9</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">10</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span>
<span class="linenos"> 9</span><span class="c1"># b</span>
<span class="linenos">10</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos"> 9</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">10</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span>
<span class="linenos"> 9</span><span class="c1"># b</span>
<span class="linenos">10</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos special"> 9</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos special"> 9</span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos special"> 9</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos special"> 9</span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos special"> 9</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">10</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span>
<span class="linenos special"> 9</span><span class="c1"># b</span>
<span class="linenos">10</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos special"> 9</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">10</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span>
<span class="linenos special"> 9</span><span class="c1"># b</span>
<span class="linenos">10</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos"> </span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos"> </span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos"> </span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos"> </span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> </span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos"> </span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> </span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos"> </span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos"> </span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos"> </span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos"> </span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos"> </span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos special"> </span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos special"> </span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-3"><span class="linenos special"> </span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-1"><span class="linenos"> </span></a><span class="c1"># a</span>
<a href="#-2"><span class="linenos">2</span></a><span class="c1"># b</span>
<a href="#-3"><span class="linenos special"> </span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> </span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos special"> </span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> </span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos special"> </span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos"> </span><span class="c1"># a</span><span class="w"></span>
<span class="linenos">2</span><span class="c1"># b</span><span class="w"></span>
<span class="linenos special"> </span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos"> </span><span class="c1"># a</span>
<span class="linenos">2</span><span class="c1"># b</span>
<span class="linenos special"> </span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos"> </span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos"> </span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos"> </span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos"> </span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos"> </span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">10</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span>
<span class="linenos"> </span><span class="c1"># b</span>
<span class="linenos">10</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span><span class="w"></span>
<span class="linenos"> </span><span class="c1"># b</span><span class="w"></span>
<span class="linenos">10</span><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><span class="linenos"> 8</span><span class="c1"># a</span>
<span class="linenos"> </span><span class="c1"># b</span>
<span class="linenos">10</span><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos special"> </span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><span class="filename">testfilename</span><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos special"> </span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>
@@ -1,4 +1,4 @@
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span><span class="w"></span>
<a href="#-9"><span class="linenos special"> </span></a><span class="c1"># b</span><span class="w"></span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span><span class="w"></span>
<div class="highlight"><pre><span></span><a href="#-8"><span class="linenos"> 8</span></a><span class="c1"># a</span>
<a href="#-9"><span class="linenos special"> </span></a><span class="c1"># b</span>
<a href="#-10"><span class="linenos">10</span></a><span class="c1"># c</span>
</pre></div>

0 comments on commit 10d85c4

Please sign in to comment.