# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit 1cf8b77d2798a43c979b71e16fd45d63b808f569
    parent 0ecfcc39b07bb7cca6a688a743299e6ef990e122
    Author: Aurélien Aptel <aurelien.aptel@gmail.com>
    Date:   Thu, 14 May 2009 01:03:17 +0200

    handle tabulation (still not perfect)

    Diffstat:
    Mst.c | 14++++++++++++++
    Mst.h | 2++

    2 files changed, 16 insertions(+), 0 deletions(-)
    diff --git a/st.c b/st.c
    @@ -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;
    diff --git a/st.h b/st.h
    @@ -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 */