mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Verbosity
- Added 'affected' verbosity token. - Deprecated 'rc.echo.command'. - Updated config defaults. - Labelled all deprecated 'echo.command' references with '// Deprecated 2.0' - Added unit tests to start the verbosity testing. Not complete. - Updated taskrc.5 man page.
This commit is contained in:
parent
de481a7eba
commit
78f91ffa91
19 changed files with 109 additions and 30 deletions
1
NEWS
1
NEWS
|
@ -70,6 +70,7 @@ Newly deprecated features in taskwarrior 2.0.0
|
||||||
|
|
||||||
- The 'next' configuration variable has been removed.
|
- The 'next' configuration variable has been removed.
|
||||||
- Use of 'fg:' and 'bg:' attributes are deprecated.
|
- Use of 'fg:' and 'bg:' attributes are deprecated.
|
||||||
|
- Use of 'echo.command' configuration variable.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -233,7 +233,7 @@ for safety.
|
||||||
.B echo.command=yes
|
.B echo.command=yes
|
||||||
May be "yes" or "no", and causes the display of the ID and description of any
|
May be "yes" or "no", and causes the display of the ID and description of any
|
||||||
task when you run the start, stop, do, undo or delete commands. The default
|
task when you run the start, stop, do, undo or delete commands. The default
|
||||||
value is "yes".
|
value is "yes". Deprecated - use verbosity token 'affected'.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B annotations=full
|
.B annotations=full
|
||||||
|
|
|
@ -81,9 +81,9 @@ std::string Config::_defaults =
|
||||||
"verbose=yes # Provide maximal feedback\n"
|
"verbose=yes # Provide maximal feedback\n"
|
||||||
"#verbose=no # Provide minimal feedback\n"
|
"#verbose=no # Provide minimal feedback\n"
|
||||||
"#verbose=list # Comma-separated list. May contain any subset of:\n"
|
"#verbose=list # Comma-separated list. May contain any subset of:\n"
|
||||||
"#verbose=blank,header,footnote,label,new-id\n"
|
"#verbose=blank,header,footnote,label,new-id,affected\n"
|
||||||
"confirmation=yes # Confirmation on delete, big changes\n"
|
"confirmation=yes # Confirmation on delete, big changes\n"
|
||||||
"echo.command=yes # Details on command just run\n"
|
"echo.command=yes # Details on command just run. Deprecated\n"
|
||||||
"annotations=full # Level of verbosity for annotations: full, sparse or none\n"
|
"annotations=full # Level of verbosity for annotations: full, sparse or none\n"
|
||||||
"indent.annotation=2 # Indent spaces for annotations\n"
|
"indent.annotation=2 # Indent spaces for annotations\n"
|
||||||
"indent.report=0 # Indent spaces for whole report\n"
|
"indent.report=0 # Indent spaces for whole report\n"
|
||||||
|
|
|
@ -391,10 +391,8 @@ bool Context::verbose (const std::string& token)
|
||||||
split (verbosity, config.get ("verbose"), ',');
|
split (verbosity, config.get ("verbose"), ',');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (verbosity_legacy)
|
if (verbosity_legacy ||
|
||||||
return true;
|
std::find (verbosity.begin (), verbosity.end (), token) != verbosity.end ())
|
||||||
|
|
||||||
if (std::find (verbosity.begin (), verbosity.end (), token) != verbosity.end ())
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -87,7 +87,8 @@ int CmdAnnotate::execute (std::string& output)
|
||||||
context.tdb2.modify (*task);
|
context.tdb2.modify (*task);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_ANNO_DONE,
|
out << format (STRING_CMD_ANNO_DONE,
|
||||||
task->id,
|
task->id,
|
||||||
task->get ("description"))
|
task->get ("description"))
|
||||||
|
@ -98,7 +99,8 @@ int CmdAnnotate::execute (std::string& output)
|
||||||
|
|
||||||
context.tdb2.commit ();
|
context.tdb2.commit ();
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format ((count == 1
|
out << format ((count == 1
|
||||||
? STRING_CMD_ANNO_SUMMARY
|
? STRING_CMD_ANNO_SUMMARY
|
||||||
: STRING_CMD_ANNO_SUMMARY_N),
|
: STRING_CMD_ANNO_SUMMARY_N),
|
||||||
|
|
|
@ -98,7 +98,8 @@ int CmdAppend::execute (std::string& output)
|
||||||
{
|
{
|
||||||
context.tdb2.modify (*sibling);
|
context.tdb2.modify (*sibling);
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_APPEND_DONE, sibling->id)
|
out << format (STRING_CMD_APPEND_DONE, sibling->id)
|
||||||
<< "\n";
|
<< "\n";
|
||||||
|
|
||||||
|
@ -113,7 +114,8 @@ int CmdAppend::execute (std::string& output)
|
||||||
|
|
||||||
context.tdb2.commit ();
|
context.tdb2.commit ();
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format ((count == 1
|
out << format ((count == 1
|
||||||
? STRING_CMD_APPEND_SUMMARY
|
? STRING_CMD_APPEND_SUMMARY
|
||||||
: STRING_CMD_APPEND_SUMMARY_N),
|
: STRING_CMD_APPEND_SUMMARY_N),
|
||||||
|
|
|
@ -112,8 +112,8 @@ int CmdDelete::execute (std::string& output)
|
||||||
context.tdb2.modify (*sibling);
|
context.tdb2.modify (*sibling);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
// TODO Feedback.
|
if (context.verbose ("affected") ||
|
||||||
if (context.config.getBoolean ("echo.command"))
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_DELETE_RECURRING,
|
out << format (STRING_CMD_DELETE_RECURRING,
|
||||||
sibling->id,
|
sibling->id,
|
||||||
sibling->get ("description"))
|
sibling->get ("description"))
|
||||||
|
@ -156,7 +156,8 @@ int CmdDelete::execute (std::string& output)
|
||||||
context.tdb2.modify (*task);
|
context.tdb2.modify (*task);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_DELETE_DELETING,
|
out << format (STRING_CMD_DELETE_DELETING,
|
||||||
task->id,
|
task->id,
|
||||||
task->get ("description"))
|
task->get ("description"))
|
||||||
|
|
|
@ -121,7 +121,8 @@ int CmdDenotate::execute (std::string& output)
|
||||||
{
|
{
|
||||||
++count;
|
++count;
|
||||||
context.tdb2.modify (*task);
|
context.tdb2.modify (*task);
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_DENO_FOUND, anno)
|
out << format (STRING_CMD_DENO_FOUND, anno)
|
||||||
<< "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,8 @@ int CmdDone::execute (std::string& output)
|
||||||
context.tdb2.modify (*task);
|
context.tdb2.modify (*task);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_DONE_COMPLETED, task->id, task->get ("description"))
|
out << format (STRING_CMD_DONE_COMPLETED, task->id, task->get ("description"))
|
||||||
<< "\n";
|
<< "\n";
|
||||||
|
|
||||||
|
@ -117,7 +118,8 @@ int CmdDone::execute (std::string& output)
|
||||||
|
|
||||||
context.tdb2.commit ();
|
context.tdb2.commit ();
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format ((count == 1
|
out << format ((count == 1
|
||||||
? STRING_CMD_DONE_MARKED
|
? STRING_CMD_DONE_MARKED
|
||||||
: STRING_CMD_DONE_MARKED_N),
|
: STRING_CMD_DONE_MARKED_N),
|
||||||
|
|
|
@ -93,7 +93,8 @@ int CmdDuplicate::execute (std::string& output)
|
||||||
context.tdb2.add (dup);
|
context.tdb2.add (dup);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_DUPLICATE_DONE,
|
out << format (STRING_CMD_DUPLICATE_DONE,
|
||||||
task->id,
|
task->id,
|
||||||
task->get ("description"))
|
task->get ("description"))
|
||||||
|
|
|
@ -284,7 +284,7 @@ int CmdInfo::execute (std::string& output)
|
||||||
|
|
||||||
view.set (row, 1, entry + " (" + age + ")");
|
view.set (row, 1, entry + " (" + age + ")");
|
||||||
|
|
||||||
// fg TODO deprecated
|
// fg TODO deprecated 2.0
|
||||||
std::string color = task->get ("fg");
|
std::string color = task->get ("fg");
|
||||||
if (color != "")
|
if (color != "")
|
||||||
{
|
{
|
||||||
|
@ -293,7 +293,7 @@ int CmdInfo::execute (std::string& output)
|
||||||
view.set (row, 1, color);
|
view.set (row, 1, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
// bg TODO deprecated
|
// bg TODO deprecated 2.0
|
||||||
color = task->get ("bg");
|
color = task->get ("bg");
|
||||||
if (color != "")
|
if (color != "")
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,7 +69,8 @@ int CmdLog::execute (std::string& output)
|
||||||
context.footnote (onProjectChange (task));
|
context.footnote (onProjectChange (task));
|
||||||
context.tdb2.commit ();
|
context.tdb2.commit ();
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
output = std::string (STRING_CMD_LOG_LOGGED) + "\n";
|
output = std::string (STRING_CMD_LOG_LOGGED) + "\n";
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
@ -165,7 +165,8 @@ int CmdModify::execute (std::string& output)
|
||||||
|
|
||||||
context.tdb2.commit ();
|
context.tdb2.commit ();
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
{
|
{
|
||||||
if (count == 1)
|
if (count == 1)
|
||||||
out << format (STRING_CMD_MODIFY_TASK, count) << "\n";
|
out << format (STRING_CMD_MODIFY_TASK, count) << "\n";
|
||||||
|
|
|
@ -98,7 +98,8 @@ int CmdPrepend::execute (std::string& output)
|
||||||
context.tdb2.modify (*sibling);
|
context.tdb2.modify (*sibling);
|
||||||
++changes;
|
++changes;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_PREPEND_DONE, sibling->id)
|
out << format (STRING_CMD_PREPEND_DONE, sibling->id)
|
||||||
<< "\n";
|
<< "\n";
|
||||||
|
|
||||||
|
@ -113,7 +114,8 @@ int CmdPrepend::execute (std::string& output)
|
||||||
|
|
||||||
context.tdb2.commit ();
|
context.tdb2.commit ();
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format ((count == 1
|
out << format ((count == 1
|
||||||
? STRING_CMD_PREPEND_SUMMARY
|
? STRING_CMD_PREPEND_SUMMARY
|
||||||
: STRING_CMD_PREPEND_SUMMARY_N),
|
: STRING_CMD_PREPEND_SUMMARY_N),
|
||||||
|
|
|
@ -143,7 +143,7 @@ int CmdShow::execute (std::string& output)
|
||||||
" displayweeknumber"
|
" displayweeknumber"
|
||||||
" dom"
|
" dom"
|
||||||
" due"
|
" due"
|
||||||
" echo.command"
|
" echo.command" // Deprecated 2.0
|
||||||
" edit.verbose"
|
" edit.verbose"
|
||||||
" editor"
|
" editor"
|
||||||
" exit.on.missing.db"
|
" exit.on.missing.db"
|
||||||
|
|
|
@ -93,7 +93,8 @@ int CmdStart::execute (std::string& output)
|
||||||
context.tdb2.modify (*task);
|
context.tdb2.modify (*task);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_START_DONE,
|
out << format (STRING_CMD_START_DONE,
|
||||||
task->id,
|
task->id,
|
||||||
task->get ("description"))
|
task->get ("description"))
|
||||||
|
|
|
@ -92,7 +92,8 @@ int CmdStop::execute (std::string& output)
|
||||||
context.tdb2.modify (*task);
|
context.tdb2.modify (*task);
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
if (context.config.getBoolean ("echo.command"))
|
if (context.verbose ("affected") ||
|
||||||
|
context.config.getBoolean ("echo.command")) // Deprecated 2.0
|
||||||
out << format (STRING_CMD_STOP_DONE,
|
out << format (STRING_CMD_STOP_DONE,
|
||||||
task->id,
|
task->id,
|
||||||
task->get ("description"))
|
task->get ("description"))
|
||||||
|
|
|
@ -526,9 +526,9 @@ const std::string decode (const std::string& value)
|
||||||
// Support for deprecated encodings. These cannot be removed or old files
|
// Support for deprecated encodings. These cannot be removed or old files
|
||||||
// will not be parsable. Not just old files - completed.data can contain
|
// will not be parsable. Not just old files - completed.data can contain
|
||||||
// tasks formatted/encoded using these.
|
// tasks formatted/encoded using these.
|
||||||
str_replace (modified, "&squot;", "'");
|
str_replace (modified, "&squot;", "'"); // Deprecated 2.0
|
||||||
str_replace (modified, ",", ",");
|
str_replace (modified, ",", ","); // Deprecated 2.0
|
||||||
str_replace (modified, ":", ":");
|
str_replace (modified, ":", ":"); // Deprecated 2.0
|
||||||
|
|
||||||
return modified;
|
return modified;
|
||||||
}
|
}
|
||||||
|
|
65
test/verbose.t
Executable file
65
test/verbose.t
Executable file
|
@ -0,0 +1,65 @@
|
||||||
|
#! /usr/bin/perl
|
||||||
|
################################################################################
|
||||||
|
## taskwarrior - a command line task list manager.
|
||||||
|
##
|
||||||
|
## Copyright 2006 - 2011, Paul Beckingham, Federico Hernandez.
|
||||||
|
## All rights reserved.
|
||||||
|
##
|
||||||
|
## This program is free software; you can redistribute it and/or modify it under
|
||||||
|
## the terms of the GNU General Public License as published by the Free Software
|
||||||
|
## Foundation; either version 2 of the License, or (at your option) any later
|
||||||
|
## version.
|
||||||
|
##
|
||||||
|
## This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
## FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
## details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU General Public License along with
|
||||||
|
## this program; if not, write to the
|
||||||
|
##
|
||||||
|
## Free Software Foundation, Inc.,
|
||||||
|
## 51 Franklin Street, Fifth Floor,
|
||||||
|
## Boston, MA
|
||||||
|
## 02110-1301
|
||||||
|
## USA
|
||||||
|
##
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Test::More tests => 4;
|
||||||
|
|
||||||
|
# Create the rc file.
|
||||||
|
if (open my $fh, '>', 'verbose.rc')
|
||||||
|
{
|
||||||
|
print $fh "data.location=.\n",
|
||||||
|
"echo.command=off\n";
|
||||||
|
close $fh;
|
||||||
|
ok (-r 'verbose.rc', 'Created verbose.rc');
|
||||||
|
}
|
||||||
|
|
||||||
|
# Verbosity: 'affected'
|
||||||
|
my $output = qx{../src/task rc:verbose.rc log foo rc.verbose:on};
|
||||||
|
like ($output, qr/Logged task/, '\'affected\' verbosity good');
|
||||||
|
|
||||||
|
$output = qx{../src/task rc:verbose.rc log bar rc.verbose:off};
|
||||||
|
unlike ($output, qr/Logged task/, '\'affected\' verbosity good');
|
||||||
|
|
||||||
|
# TODO Verbosity: 'new-id'
|
||||||
|
# TODO Verbosity: 'blank'
|
||||||
|
# TODO Verbosity: 'label'
|
||||||
|
# TODO Verbosity: 'header'
|
||||||
|
# TODO Verbosity: 'footer'
|
||||||
|
|
||||||
|
# Cleanup.
|
||||||
|
unlink qw(pending.data completed.data undo.data backlog.data synch.key verbose.rc);
|
||||||
|
ok (! -r 'pending.data' &&
|
||||||
|
! -r 'completed.data' &&
|
||||||
|
! -r 'undo.data' &&
|
||||||
|
! -r 'backlog.data' &&
|
||||||
|
! -r 'synch.key' &&
|
||||||
|
! -r 'verbose.rc', 'Cleanup');
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue