#include "roteprivate.h"
#include "inject_csi.h"
#include <string.h>
+#include <stdio.h>
static void cursor_line_down(RoteTerm *rt) {
int i;
cursor_line_down(rt);
}
+ if (rt->insert) {
+ int i;
+
+ for(i = rt->cols - 1; i >= rt->ccol+1; i--)
+ rt->cells[rt->crow][i] = rt->cells[rt->crow][i-1];
+ }
+
rt->cells[rt->crow][rt->ccol].ch = c;
rt->cells[rt->crow][rt->ccol].attr = rt->curattr;
rt->ccol++;
rt->curpos_dirty = true;
break;
case '\t': /* tab */
- while (rt->ccol % 8) put_normal_char(rt, ' ');
+ rt->ccol += 8 - (rt->ccol % 8);
+ clamp_cursor_to_bounds(rt);
break;
case '\x1B': /* begin escape sequence (aborting previous one if any) */
new_escape_sequence(rt);