st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit 801ea034b652025dc22d26f6e1b802de932346da
parent e87d21bb3d6b48f68340c193dff8b6021f00be10
Author: Christoph Lohmann <20h@r-36.net>
Date:   Thu, 15 Nov 2012 16:21:23 +0100

Import the patch of Eckehard Berns to add insert mode. Thanks!

Diffstat:
Mst.c | 4++++
Mst.info | 2++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/st.c b/st.c
@@ -2100,6 +2100,10 @@ tputc(char *c, int len) {
         sel.bx = -1;
     if(IS_SET(MODE_WRAP) && term.c.state & CURSOR_WRAPNEXT)
         tnewline(1); /* always go to first col */
+    if(IS_SET(MODE_INSERT) && term.c.x+1 < term.col)
+        memmove(&term.line[term.c.y][term.c.x+1],
+            &term.line[term.c.y][term.c.x],
+            (term.col - term.c.x - 1) * sizeof(Glyph));
     tsetchar(c, &term.c.attr, term.c.x, term.c.y);
     if(term.c.x+1 < term.col)
         tmoveto(term.c.x+1, term.c.y);
diff --git a/st.info b/st.info
@@ -153,6 +153,7 @@ st| simpleterm,
     ritm=\E[23m,
     rmacs=\E(B,
     rmcup=\E[?1049l,
+    rmir=\E[4l,
     rmkx=\E[?1l\E>,
     rmso=\E[23m,
     rmul=\E[m,
@@ -168,6 +169,7 @@ st| simpleterm,
     sitm=\E[3m,
     smacs=\E(0,
     smcup=\E[?1049h,
+    smir=\E[4h,
     smkx=\E[?1h\E=,
     smso=\E[3m,
     smul=\E[4m,