Handle displaying control characters better
This commit is contained in:
parent
f5ba357eac
commit
1c0db7e5da
17
kilo.c
17
kilo.c
@ -997,7 +997,22 @@ void editorDrawRows(struct abuf *ab)
|
||||
int j;
|
||||
for (j = 0; j < len; j++)
|
||||
{
|
||||
if (hl[j] == HL_NORMAL)
|
||||
// Make control characters "readable"
|
||||
if (iscntrl(c[j]))
|
||||
{
|
||||
char sym = (c[j] <= 26) ? '@' + c[j] : '?';
|
||||
abAppend(ab, "\x1b[7m", 4);
|
||||
abAppend(ab, &sym, 1);
|
||||
abAppend(ab, "\x1b[m", 3);
|
||||
// Restore the previous highlighting color
|
||||
if (current_color != -1)
|
||||
{
|
||||
char buf[16];
|
||||
int clen = snprintf(buf, sizeof(buf), "\x1b[%dm", current_color);
|
||||
abAppend(ab, buf, clen);
|
||||
}
|
||||
}
|
||||
else if (hl[j] == HL_NORMAL)
|
||||
{
|
||||
if (current_color != -1)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user