]> Joshua Wise's Git repositories - tdl.git/blobdiff - list.c
Fall back on index for sort if the due date is the same, not just if both due dates...
[tdl.git] / list.c
diff --git a/list.c b/list.c
index 7c655bbeceb2599a98bd15f1fbc07addc3586e78..d9bfed519cd43e30c40e930a4c8e120f23a6de66 100644 (file)
--- a/list.c
+++ b/list.c
@@ -219,6 +219,34 @@ static void print_details(struct node *y, int indent, int summarise_kids, const
     }
   }
   if (!options->monochrome) printf("%s", NORMAL);
+  if (y->required_by > 0) {
+    time_t delta = y->required_by - time(NULL);
+    if (delta < 0) {
+      printf(options->monochrome ?
+               " [OVERDUE]" :
+               RED " [OVERDUE]" NORMAL);
+    } else if (delta < 24*60*60) {
+      printf(options->monochrome ?
+               "  [due <24hr]" :
+               RED " [due <24hr]" NORMAL);
+    } else if (delta < 2*24*60*60) {
+      printf(options->monochrome ?
+               "  [due <2d]" :
+               RED " [due <2d]" NORMAL);
+    } else if (delta < 3*24*60*60) {
+      printf(options->monochrome ?
+               "  [due <3d]" :
+               YELLOW " [due <3d]" NORMAL);
+    } else if (delta < 4*24*60*60) {
+      printf(options->monochrome ?
+               "  [due <4d]" :
+               YELLOW " [due <4d]" NORMAL);
+    } else if (delta < 5*24*60*60) {
+      printf(options->monochrome ?
+               "  [due <5d]" :
+               GREEN " [due <5d]" NORMAL);
+    }
+  }
   printf("\n");
 
   if (options->verbose) {
@@ -240,11 +268,11 @@ static void print_details(struct node *y, int indent, int summarise_kids, const
 /* 1 if x has lower priority than y. */
 static int node_lessthan(struct node *x, struct node *y)/*{{{*/
 {
-  if (x->priority < y->priority)
-    return 1;
   if (x->priority > y->priority)
+    return 1;
+  if (x->priority < y->priority)
     return 0;
-  if (x->required_by == 0 && y->required_by == 0)
+  if (x->required_by == y->required_by)
     return (x->idx > y->idx);
   if (y->required_by == 0)
     return 1;
This page took 0.04205 seconds and 4 git commands to generate.