diff options
author | Christoph Lohmann | 2012-11-15 16:21:23 +0100 |
---|---|---|
committer | Christoph Lohmann | 2012-11-15 16:21:23 +0100 |
commit | 801ea034b652025dc22d26f6e1b802de932346da (patch) | |
tree | 1d19d510709291bbb93502e258f7bee2782bbccf | |
parent | e87d21bb3d6b48f68340c193dff8b6021f00be10 (diff) | |
download | st-801ea034b652025dc22d26f6e1b802de932346da.tar.gz st-801ea034b652025dc22d26f6e1b802de932346da.tar.xz st-801ea034b652025dc22d26f6e1b802de932346da.zip |
Import the patch of Eckehard Berns to add insert mode. Thanks!
-rw-r--r-- | st.c | 4 | ||||
-rw-r--r-- | st.info | 2 |
2 files changed, 6 insertions, 0 deletions
@@ -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); @@ -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, |