]> code.citadel.org Git - citadel.git/blobdiff - citadel/commands.c
Colour changes
[citadel.git] / citadel / commands.c
index bd3f90da242195d6204ce26cad7f1246e91c7739..0840dc446dfbca492a6625efff39841f180be060 100644 (file)
@@ -990,7 +990,19 @@ int fmout(int width, FILE * fp, char pagin, int height, int starting_lp, char su
 void color(int colornum)
 {
        static int is_bold = 0;
+       static int hold_color, current_color;
 
+       if (colornum == COLOR_PUSH) {
+               hold_color = current_color;
+               return;
+       }
+
+       if (colornum == COLOR_POP) {
+               color(hold_color);
+               return;
+       }
+
+       current_color = colornum;
        if (enable_color) {
                printf("\033[3%dm", (colornum % 8));
                if ((colornum >= 8) && (is_bold == 0)) {