summary refs log tree commit diff
diff options
context:
space:
mode:
authorC. McEnroe2020-09-06 22:43:50 -0400
committerC. McEnroe2020-09-06 22:43:50 -0400
commit05f94f1b8b638a5f0b347d972bbbf1c3cad6f3e6 (patch)
treef0ac2557f2f6aee39f902cae3f1394f37bd1e233
parentf0fe44f35504788edc241e347252384517a33087 (diff)
Handle non-alignment tabs in line wrapping
-rw-r--r--buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/buffer.c b/buffer.c
index ff21eb4..7478211 100644
--- a/buffer.c
+++ b/buffer.c
@@ -128,6 +128,9 @@ static int flow(struct Lines *hard, int cols, const struct Line *soft) {
 			// zero-width, so just remove them entirely.
 			memmove(str, &str[n], strlen(&str[n]) + 1);
 			continue;
+		} else if (wc == L'\t') {
+			// XXX: Assuming TABSIZE = 8.
+			width += 8 - (width % 8);
 		} else if (wc < L' ') {
 			// XXX: ncurses will render these as "^A".
 			width += 2;