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 /st.c | |
parent | 0ecfcc39b07bb7cca6a688a743299e6ef990e122 (diff) | |
download | st-1cf8b77d2798a43c979b71e16fd45d63b808f569.tar.gz st-1cf8b77d2798a43c979b71e16fd45d63b808f569.zip |
handle tabulation (still not perfect)
Diffstat (limited to 'st.c')
-rw-r--r-- | st.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -559,6 +559,17 @@ escreset(void) { | |||
559 | } | 559 | } |
560 | 560 | ||
561 | void | 561 | void |
562 | tputtab(void) { | ||
563 | int space = TAB - term.c.x % TAB; | ||
564 | |||
565 | if(term.c.x + space >= term.col) | ||
566 | space--; | ||
567 | |||
568 | for(; space > 0; space--) | ||
569 | tputc(' '); | ||
570 | } | ||
571 | |||
572 | void | ||
562 | tputc(char c) { | 573 | tputc(char c) { |
563 | static int inesc = 0; | 574 | static int inesc = 0; |
564 | 575 | ||
@@ -574,6 +585,9 @@ tputc(char c) { | |||
574 | tsetchar(c); | 585 | tsetchar(c); |
575 | tcursor(CSright); | 586 | tcursor(CSright); |
576 | break; | 587 | break; |
588 | case '\t': | ||
589 | tputtab(); | ||
590 | break; | ||
577 | case '\b': | 591 | case '\b': |
578 | tcursor(CSleft); | 592 | tcursor(CSleft); |
579 | break; | 593 | break; |