summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ui.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/ui.c b/ui.c
index 5f912b7..1e7eb26 100644
--- a/ui.c
+++ b/ui.c
@@ -38,6 +38,7 @@
// Annoying stuff from <term.h>:
#undef lines
+#undef tab
#ifndef A_ITALIC
#define A_ITALIC A_NORMAL
@@ -577,12 +578,20 @@ static void bufferList(const struct Buffer *buffer) {
char buf[sizeof("[00:00:00]")];
strftime(buf, sizeof(buf), "[%T]", tm);
vid_attr(colorAttr(Colors[Gray]), colorPair(Colors[Gray], -1), NULL);
- printf("%s\t", buf);
+ printf("%s ", buf);
size_t len;
+ bool align = false;
struct Style style = Reset;
while (*line) {
+ if (*line == '\t') {
+ printf("%c", (align ? '\t' : ' '));
+ align = true;
+ line++;
+ }
styleParse(&style, &line, &len);
+ size_t tab = strcspn(line, "\t");
+ if (tab < len) len = tab;
vid_attr(
style.attr | colorAttr(Colors[style.fg]),
colorPair(Colors[style.fg], Colors[style.bg]),