Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
st.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add HTS sequence
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
d169ddf
..
4b7e4eb
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1214,7
+1214,6
@@
csihandle(void) {
DEFAULT(escseq.arg[1], 1);
tmoveto(escseq.arg[1]-1, escseq.arg[0]-1);
break;
DEFAULT(escseq.arg[1], 1);
tmoveto(escseq.arg[1]-1, escseq.arg[0]-1);
break;
- /* XXX: (CSI n I) CHT -- Cursor Forward Tabulation <n> tab stops */
case 'J': /* ED -- Clear screen */
sel.bx = -1;
switch(escseq.arg[0]) {
case 'J': /* ED -- Clear screen */
sel.bx = -1;
switch(escseq.arg[0]) {
@@
-1429,8
+1428,11
@@
csireset(void) {
void
tputtab(void) {
void
tputtab(void) {
- int space = TAB - term.c.x % TAB;
- tmoveto(term.c.x + space, term.c.y);
+ unsigned x;
+
+ for (x = term.c.x + 1; x < term.col && !term.tabs[x]; ++x)
+ /* nothing */ ;
+ tmoveto(x, term.c.y);
}
void
}
void
@@
-1491,6
+1493,10
@@
tputc(char *c) {
tnewline(1); /* always go to first col */
term.esc = 0;
break;
tnewline(1); /* always go to first col */
term.esc = 0;
break;
+ case 'H': /* HTS -- Horizontal tab stop */
+ term.tabs[term.c.x] = 1;
+ term.esc = 0;
+ break;
case 'M': /* RI -- Reverse index */
if(term.c.y == term.top)
tscrolldown(term.top, 1);
case 'M': /* RI -- Reverse index */
if(term.c.y == term.top)
tscrolldown(term.top, 1);