diff --git a/ChangeLog b/ChangeLog index ebe7fa9ac..618a3cd91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -58,6 +58,7 @@ - TW-279 ".monthly" unexpectedly appended to task annotation (thanks to Florian Hollerweger). - TW-285 DUETODAY doesn't give any output (thanks to Jostein Berntsen). +- TW-294 Display UUID of task created by add (thanks to John West). - TW-306 Wrong date format in burndown view (thanks to Michele Santullo). - TW-752 task ID no longer defaults to info (thanks to Christopher Roberts). - TW-1243 Automatically insert ( ) around user-supplied filter, if any. diff --git a/NEWS b/NEWS index b9d8f5b2c..77eb3f341 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,7 @@ New Features in taskwarrior 2.4.0 - Regular expressions are now enabled by default. - The 'filter' verbosity token shows the complete filter used for the last command. + - The 'new-uuid' verbosity token shows the UUID of newly created tasks. - The 'info' report now breaks down urgency values. New commands in taskwarrior 2.4.0 diff --git a/src/Config.cpp b/src/Config.cpp index a070c5650..b275b8ac2 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -79,7 +79,7 @@ std::string Config::_defaults = "#verbose=no # Provide regular feedback\n" "#verbose=nothing # Provide no feedback\n" "# # Comma-separated list. May contain any subset of:\n" - "#verbose=blank,header,footnote,label,new-id,affected,edit,special,project,sync,filter\n" + "#verbose=blank,header,footnote,label,new-id,new-uuid,affected,edit,special,project,sync,filter\n" "confirmation=yes # Confirmation on delete, big changes\n" "indent.annotation=2 # Indent spaces for annotations\n" "indent.report=0 # Indent spaces for whole report\n" diff --git a/src/Context.cpp b/src/Context.cpp index 37954dbca..c61de58de 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -484,6 +484,7 @@ bool Context::verbose (const std::string& token) verbosity[0] != "footnote" && // verbosity[0] != "label" && // verbosity[0] != "new-id" && // + verbosity[0] != "new-uuid" && // verbosity[0] != "affected" && // verbosity[0] != "edit" && // verbosity[0] != "special" && // diff --git a/src/commands/CmdAdd.cpp b/src/commands/CmdAdd.cpp index ddf2d770f..37d1b067e 100644 --- a/src/commands/CmdAdd.cpp +++ b/src/commands/CmdAdd.cpp @@ -55,7 +55,10 @@ int CmdAdd::execute (std::string& output) context.tdb2.add (task); if (context.verbose ("new-id")) - output = format (STRING_CMD_ADD_FEEDBACK, context.tdb2.next_id ()) + "\n"; + output += format (STRING_CMD_ADD_FEEDBACK, context.tdb2.next_id ()) + "\n"; + + if (context.verbose ("new-uuid")) + output += format (STRING_CMD_ADD_FEEDBACK, task.get ("uuid")) + "\n"; if (context.verbose ("project")) context.footnote (onProjectChange (task)); diff --git a/src/commands/CmdDuplicate.cpp b/src/commands/CmdDuplicate.cpp index 669c94463..022ff5e93 100644 --- a/src/commands/CmdDuplicate.cpp +++ b/src/commands/CmdDuplicate.cpp @@ -114,6 +114,9 @@ int CmdDuplicate::execute (std::string& output) if (context.verbose ("new-id")) std::cout << format (STRING_CMD_ADD_FEEDBACK, context.tdb2.next_id ()) + "\n"; + if (context.verbose ("new-uuid")) + std::cout << format (STRING_CMD_ADD_FEEDBACK, dup.get ("uuid")) + "\n"; + if (context.verbose ("project")) projectChanges[task->get ("project")] = onProjectChange (*task); }