Browse Source

handle tabulation (still not perfect)

master
Aurélien Aptel 15 years ago
parent
commit
1cf8b77d27
2 changed files with 16 additions and 0 deletions
  1. +14
    -0
      st.c
  2. +2
    -0
      st.h

+ 14
- 0
st.c View File

@ -558,6 +558,17 @@ escreset(void) {
memset(&escseq, 0, sizeof(escseq));
}
void
tputtab(void) {
int space = TAB - term.c.x % TAB;
if(term.c.x + space >= term.col)
space--;
for(; space > 0; space--)
tputc(' ');
}
void
tputc(char c) {
static int inesc = 0;
@ -574,6 +585,9 @@ tputc(char c) {
tsetchar(c);
tcursor(CSright);
break;
case '\t':
tputtab();
break;
case '\b':
tcursor(CSleft);
break;


+ 2
- 0
st.h View File

@ -66,6 +66,8 @@ enum { CRset=1 , CRupdate=2 }; /* Character state */
enum { TMwrap=1 , TMinsert=2 }; /* Terminal mode */
enum { SCupdate, SCredraw }; /* screen draw mode */
typedef int Color;
typedef struct {
char c; /* character code */
char mode; /* attribute flags */


Loading…
Cancel
Save