diff options
| author | Aurélien Aptel <aurelien.aptel@gmail.com> | 2009-05-14 01:03:17 +0200 | 
|---|---|---|
| committer | Aurélien Aptel <aurelien.aptel@gmail.com> | 2009-05-14 01:03:17 +0200 | 
| commit | 1cf8b77d2798a43c979b71e16fd45d63b808f569 (patch) | |
| tree | be28de4081f44d4e6e266122bd1362c8adb4fd24 | |
| parent | 0ecfcc39b07bb7cca6a688a743299e6ef990e122 (diff) | |
| download | st-transparency-1cf8b77d2798a43c979b71e16fd45d63b808f569.tar.gz st-transparency-1cf8b77d2798a43c979b71e16fd45d63b808f569.tar.xz st-transparency-1cf8b77d2798a43c979b71e16fd45d63b808f569.zip  | |
handle tabulation (still not perfect)
| -rw-r--r-- | st.c | 14 | ||||
| -rw-r--r-- | st.h | 2 | 
2 files changed, 16 insertions, 0 deletions
@@ -559,6 +559,17 @@ escreset(void) {  }  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; @@ -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 */  | 
