mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Feature #340
- Added feature #340, which implements new color rules 'color.completed' and 'color.deleted'.
This commit is contained in:
parent
7986227ea2
commit
10b97fc967
6 changed files with 33 additions and 2 deletions
|
@ -41,6 +41,8 @@
|
||||||
# Tracked Features, sorted by ID.
|
# Tracked Features, sorted by ID.
|
||||||
+ Added feature #278, which provides a more consistent command line grammar.
|
+ Added feature #278, which provides a more consistent command line grammar.
|
||||||
+ Added feature #330, which supports the 'inverse' color attribute.
|
+ Added feature #330, which supports the 'inverse' color attribute.
|
||||||
|
+ Added feature #340, which implements new color rules 'color.completed' and
|
||||||
|
'color.deleted'.
|
||||||
+ Added feature #479, which enables filtering for the 'calendar' command.
|
+ Added feature #479, which enables filtering for the 'calendar' command.
|
||||||
+ Added feature #496, which allows rc.default.command to be supplemented with
|
+ Added feature #496, which allows rc.default.command to be supplemented with
|
||||||
a filter, so that 'task project:Home' applies the project filter to the
|
a filter, so that 'task project:Home' applies the project filter to the
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -52,6 +52,7 @@ New configuration options in taskwarrior 2.0.0
|
||||||
or simple text patterns.
|
or simple text patterns.
|
||||||
- New 'exit.on.missing.db' control causes an exit if the ~/.task directory
|
- New 'exit.on.missing.db' control causes an exit if the ~/.task directory
|
||||||
(or override) is missing.
|
(or override) is missing.
|
||||||
|
- New 'color.completed' and 'color.deleted' color rules.
|
||||||
|
|
||||||
Newly deprecated features in taskwarrior 2.0.0
|
Newly deprecated features in taskwarrior 2.0.0
|
||||||
|
|
||||||
|
|
|
@ -699,6 +699,12 @@ Task has priority L.
|
||||||
.br
|
.br
|
||||||
.B color.pri.none
|
.B color.pri.none
|
||||||
Task has no priority.
|
Task has no priority.
|
||||||
|
.br
|
||||||
|
.B color.completed
|
||||||
|
Task is completed.
|
||||||
|
.br
|
||||||
|
.B color.deleted
|
||||||
|
Task is deleted.
|
||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
|
@ -850,7 +856,7 @@ Colors the output of the merge command.
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B rule.precedence.color=due.today,active,blocked,overdue,due,keyword,project,tag,recurring,pri,tagged
|
.B rule.precedence.color=due.today,active,blocked,overdue,due,keyword,project,tag,recurring,pri,tagged,completed,deleted
|
||||||
.RS
|
.RS
|
||||||
This setting specifies the precedence of the color rules, from highest to
|
This setting specifies the precedence of the color rules, from highest to
|
||||||
lowest. Note that the prefix 'color.' is omitted (for brevity), and that any
|
lowest. Note that the prefix 'color.' is omitted (for brevity), and that any
|
||||||
|
|
|
@ -197,6 +197,8 @@ std::string Config::defaults =
|
||||||
"color.pri.L=rgb245 # Color of priority:L tasks\n"
|
"color.pri.L=rgb245 # Color of priority:L tasks\n"
|
||||||
"color.tagged=rgb031 # Color of tagged tasks\n"
|
"color.tagged=rgb031 # Color of tagged tasks\n"
|
||||||
"color.blocked=white on color8 # Color of blocked tasks\n"
|
"color.blocked=white on color8 # Color of blocked tasks\n"
|
||||||
|
"#color.completed=on blue # Color of completed tasks\n"
|
||||||
|
"#color.deleted=on blue # Color of deleted tasks\n"
|
||||||
#else
|
#else
|
||||||
"color.header=yellow # Color of header messages\n"
|
"color.header=yellow # Color of header messages\n"
|
||||||
"color.footnote=yellow # Color of footnote messages\n"
|
"color.footnote=yellow # Color of footnote messages\n"
|
||||||
|
@ -246,12 +248,14 @@ std::string Config::defaults =
|
||||||
"color.pri.L= # Color of priority:L tasks\n"
|
"color.pri.L= # Color of priority:L tasks\n"
|
||||||
"color.tagged=green # Color of tagged tasks\n"
|
"color.tagged=green # Color of tagged tasks\n"
|
||||||
"color.blocked=black on white # Color of blocked tasks\n"
|
"color.blocked=black on white # Color of blocked tasks\n"
|
||||||
|
"#color.completed=on blue # Color of completed tasks\n"
|
||||||
|
"#color.deleted=on blue # Color of deleted tasks\n"
|
||||||
#endif
|
#endif
|
||||||
"\n"
|
"\n"
|
||||||
"# Here is the rule precedence order, highest to lowest.\n"
|
"# Here is the rule precedence order, highest to lowest.\n"
|
||||||
"# Note that these are just the color rule names, without the leading 'color.'\n"
|
"# Note that these are just the color rule names, without the leading 'color.'\n"
|
||||||
"# and any trailing '.value'.\n"
|
"# and any trailing '.value'.\n"
|
||||||
"rule.precedence.color=due.today,active,blocked,overdue,due,keyword,project,tag,recurring,pri,tagged\n"
|
"rule.precedence.color=due.today,active,blocked,overdue,due,keyword,project,tag,recurring,pri,tagged,completed,deleted\n"
|
||||||
"\n"
|
"\n"
|
||||||
"# Shadow file support\n"
|
"# Shadow file support\n"
|
||||||
"#shadow.file=/tmp/shadow.txt # Location of shadow file\n"
|
"#shadow.file=/tmp/shadow.txt # Location of shadow file\n"
|
||||||
|
|
|
@ -92,7 +92,9 @@ int CmdShow::execute (std::string& output)
|
||||||
" color.calendar.today"
|
" color.calendar.today"
|
||||||
" color.calendar.weekend"
|
" color.calendar.weekend"
|
||||||
" color.calendar.weeknumber"
|
" color.calendar.weeknumber"
|
||||||
|
" color.completed"
|
||||||
" color.debug"
|
" color.debug"
|
||||||
|
" color.deleted"
|
||||||
" color.due"
|
" color.due"
|
||||||
" color.due.today"
|
" color.due.today"
|
||||||
" color.footnote"
|
" color.footnote"
|
||||||
|
|
|
@ -253,6 +253,20 @@ static void colorizeRecurring (Task& task, const std::string& rule, Color& c)
|
||||||
c.blend (gsColor[rule]);
|
c.blend (gsColor[rule]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
static void colorizeCompleted (Task& task, const std::string& rule, Color& c)
|
||||||
|
{
|
||||||
|
if (task.getStatus () == Task::completed)
|
||||||
|
c.blend (gsColor[rule]);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
static void colorizeDeleted (Task& task, const std::string& rule, Color& c)
|
||||||
|
{
|
||||||
|
if (task.getStatus () == Task::completed)
|
||||||
|
c.blend (gsColor[rule]);
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
void autoColorize (Task& task, Color& c)
|
void autoColorize (Task& task, Color& c)
|
||||||
{
|
{
|
||||||
|
@ -283,6 +297,8 @@ void autoColorize (Task& task, Color& c)
|
||||||
else if (*r == "color.due.today") colorizeDueToday (task, *r, c);
|
else if (*r == "color.due.today") colorizeDueToday (task, *r, c);
|
||||||
else if (*r == "color.overdue") colorizeOverdue (task, *r, c);
|
else if (*r == "color.overdue") colorizeOverdue (task, *r, c);
|
||||||
else if (*r == "color.recurring") colorizeRecurring (task, *r, c);
|
else if (*r == "color.recurring") colorizeRecurring (task, *r, c);
|
||||||
|
else if (*r == "color.completed") colorizeCompleted (task, *r, c);
|
||||||
|
else if (*r == "color.deleted") colorizeDeleted (task, *r, c);
|
||||||
|
|
||||||
// Wildcards
|
// Wildcards
|
||||||
else if (r->substr (0, 9) == "color.tag") colorizeTag (task, *r, c);
|
else if (r->substr (0, 9) == "color.tag") colorizeTag (task, *r, c);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue