fixed comment output

This commit is contained in:
cozis
2022-05-05 20:29:09 +02:00
parent ed35e6fe97
commit 401df276a6
3 changed files with 32 additions and 17 deletions
-1
View File
@@ -1 +0,0 @@
- Newlines in multi-line comments arent converted into <br/>s
+10 -10
View File
@@ -96,23 +96,23 @@ int main()
``` ```
when executed, the output will be: when executed, the output will be:
``` ```
<div class="code"> <div class="c2h-code">
<div class="code-inner"> <div class="c2h-code-inner">
<span class="kword kword-int">int</span> <span class="identifier fdeclname">main</span>() {<br /> <span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier c2h-fdeclname">main</span>() {<br />
&emsp;&emsp;&emsp;&emsp;<span class="kword kword-int">int</span> <span class="identifier">a</span> <span class="operator">=</span> <span class="val-int">5</span>;<br /> &emsp;&emsp;&emsp;&emsp;<span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier">a</span> <span class="c2h-operator">=</span> <span class="c2h-val-int">5</span>;<br />
&emsp;&emsp;&emsp;&emsp;<span class="kword kword-return">return</span> <span class="val-int">0</span>;<br /> &emsp;&emsp;&emsp;&emsp;<span class="c2h-kword c2h-kword-return">return</span> <span class="c2h-val-int">0</span>;<br />
}<br /> }<br />
</div> </div>
</div> </div>
``` ```
If `table_mode` were `1`, then the output would have been: If `table_mode` were `1`, then the output would have been:
``` ```
<div class="code"> <div class="c2h-code">
<div class="code-inner"> <div class="c2h-code-inner">
<table> <table>
<tr><td>1</td><td><span class="kword kword-int">int</span> <span class="identifier fdeclname">main</span>() {</td></tr> <tr><td>1</td><td><span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier c2h-fdeclname">main</span>() {</td></tr>
<tr><td>2</td><td>&emsp;&emsp;<span class="kword kword-int">int</span> <span class="identifier">a</span> <span class="operator">=</span> <span class="val-int">5</span>;</td></tr> <tr><td>2</td><td>&emsp;&emsp;<span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier">a</span> <span class="c2h-operator">=</span> <span class="c2h-val-int">5</span>;</td></tr>
<tr><td>3</td><td>&emsp;&emsp;<span class="kword kword-return">return</span> <span class="val-int">0</span>;</td></tr> <tr><td>3</td><td>&emsp;&emsp;<span class="c2h-kword c2h-kword-return">return</span> <span class="c2h-val-int">0</span>;</td></tr>
<tr><td>4</td><td>}</td></tr> <tr><td>4</td><td>}</td></tr>
<tr><td>5</td><td></td></tr> <tr><td>5</td><td></td></tr>
</table> </table>
+22 -6
View File
@@ -350,7 +350,12 @@ static void print_escaped(buff_t *buff, const char *str, long len)
long off = j; long off = j;
while(j < len && str[j] != '<' && str[j] != '>') while(j < len
&& str[j] != '<'
&& str[j] != '>'
&& str[j] != ' '
&& str[j] != '\n'
&& str[j] != '\t')
j += 1; j += 1;
long end = j; long end = j;
@@ -359,11 +364,22 @@ static void print_escaped(buff_t *buff, const char *str, long len)
if(j == len) if(j == len)
break; break;
assert(str[j] == '<' || str[j] == '>'); switch(str[j]) {
if(str[j] == '<') case '<': buff_printf(buff, "&lt;"); break;
buff_printf(buff, "&lt;"); case '>': buff_printf(buff, "&gt;"); break;
else case '\n': buff_printf(buff, "<br />"); break;
buff_printf(buff, "&gt;"); case '\t': buff_printf(&buff, "&emsp;&emsp;&emsp;&emsp;"); break;
case ' ':
if(j == 0 || str[j-1] != ' ')
buff_printf(buff, " ");
else
buff_printf(buff, "&emsp;");
break;
default: assert(0);
}
j += 1; j += 1;
} }
} }