yterm

commit e1f2516a0ceac766a62f9fb4feb4a6471c74184b

Author: mesyeti <mesyeti@mesyeti.uk>

add line wrap

 source/interpreter/vt100.c | 10 ++++++++++


diff --git a/source/interpreter/vt100.c b/source/interpreter/vt100.c
index 8059e3f33c37dd4245b65d8ed9c55f81baca604e..b1944feb8bddb0dd29fd138e76619be324215163 100644
--- a/source/interpreter/vt100.c
+++ b/source/interpreter/vt100.c
@@ -54,6 +54,8 @@ 		if ((key >= KEY_A) || (key <= KEY_Z)) {
 			// char ch = ((char) (key + ('A' - 1))) & 0x1F;
 			char ch = ((char) ((key - KEY_A) + 'A')) & 0x1F;
 
+			printf("Sending CTRL+%c (%d)\n", ((char) ((key - KEY_A) + 'A')), ch);
+
 			static char ret[2];
 			ret[0] = ch;
 			ret[1] = 1;
@@ -129,6 +131,8 @@ 		else {
 			snprintf(buf, sizeof(buf), "\x1b[%d%c", mod, xtermChar);
 		}
 	}
+
+	printf("Sending CSI %s\n", &buf[1]);
 
 	return buf;
 }
@@ -637,6 +641,12 @@ 					cell.attr = terminal->attr;
 
 					Buffer_Set(&terminal->buffer, terminal->cursor.x, terminal->cursor.y, cell);
 					++ terminal->cursor.x;
+
+					if (terminal->cursor.x >= terminal->buffer.width) {
+						++ terminal->cursor.y;
+						terminal->cursor.x = 0;
+						ShouldScroll(terminal);
+					}
 				}
 			}
 			break;