mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
parent
6a7e741b02
commit
2181c48eb7
5 changed files with 237 additions and 16 deletions
194
src/command.cpp
194
src/command.cpp
|
@ -618,6 +618,199 @@ int handleCompletionIDs (std::string& outs)
|
|||
return 0;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
int handleZshCompletionIDs (std::string& outs)
|
||||
{
|
||||
std::vector <Task> tasks;
|
||||
context.tdb.lock (context.config.getBoolean ("locking"));
|
||||
Filter filter;
|
||||
context.tdb.loadPending (tasks, filter);
|
||||
context.tdb.commit ();
|
||||
context.tdb.unlock ();
|
||||
|
||||
std::stringstream out;
|
||||
foreach (task, tasks) {
|
||||
if (task->getStatus () != Task::deleted &&
|
||||
task->getStatus () != Task::completed) {
|
||||
out << task->id << ":" << task->get("description") << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
outs = out.str ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
int handleZshCompletionCommands (std::string& outs)
|
||||
{
|
||||
// Get a list of all commands.
|
||||
std::vector <std::string> commands;
|
||||
context.cmd.allCommands (commands);
|
||||
|
||||
// Sort alphabetically.
|
||||
std::sort (commands.begin (), commands.end ());
|
||||
|
||||
std::stringstream out;
|
||||
foreach (command, commands) {
|
||||
out << *command << ":";
|
||||
|
||||
if (*command == "add") {
|
||||
out << "Adds a new task.";
|
||||
}
|
||||
else if (*command == "log") {
|
||||
out << "Adds a new task that is already completed.";
|
||||
}
|
||||
else if (*command == "append") {
|
||||
out << "Appends more description to an existing task.";
|
||||
}
|
||||
else if (*command == "prepend") {
|
||||
out << "Prepends more description to an existing task.";
|
||||
}
|
||||
else if (*command == "annotate") {
|
||||
out << "Adds an annotation to an existing task.";
|
||||
}
|
||||
else if (*command == "denotate") {
|
||||
out << "Deletes an annotation of an existing task.";
|
||||
}
|
||||
else if (*command == "edit") {
|
||||
out << "Launches an editor to let you modify a task directly.";
|
||||
}
|
||||
else if (*command == "undo") {
|
||||
out << "Reverts the most recent action.";
|
||||
}
|
||||
else if (*command == "shell") {
|
||||
out << "Launches an interactive shell.";
|
||||
}
|
||||
else if (*command == "duplicate") {
|
||||
out << "Duplicates the specified task, and allows modifications.";
|
||||
}
|
||||
else if (*command == "delete") {
|
||||
out << "Deletes the specified task.";
|
||||
}
|
||||
else if (*command == "info") {
|
||||
out << "Shows all data, metadata for specified task.";
|
||||
}
|
||||
else if (*command == "start") {
|
||||
out << "Marks specified task as started.";
|
||||
}
|
||||
else if (*command == "stop") {
|
||||
out << "Removes the 'start' time from a task.";
|
||||
}
|
||||
else if (*command == "done") {
|
||||
out << "Marks the specified task as completed.";
|
||||
}
|
||||
else if (*command == "projects") {
|
||||
out << "Shows a list of all project names used.";
|
||||
}
|
||||
else if (*command == "tags") {
|
||||
out << "Shows a list of all tags used.";
|
||||
}
|
||||
else if (*command == "summary") {
|
||||
out << "Shows a report of task status by project.";
|
||||
}
|
||||
else if (*command == "timesheet") {
|
||||
out << "Shows a weekly report of tasks completed and started.";
|
||||
}
|
||||
else if (*command == "history") {
|
||||
out << "Alias to history.monthly.";
|
||||
}
|
||||
else if (*command == "history.monthly") {
|
||||
out << "Shows a report of task history, by month.";
|
||||
}
|
||||
else if (*command == "history.annual") {
|
||||
out << "Shows a report of task history, by year.";
|
||||
}
|
||||
else if (*command == "ghistory") {
|
||||
out << "Alias to ghistory.monthly.";
|
||||
}
|
||||
else if (*command == "ghistory.monthly") {
|
||||
out << "Shows a graphical report of task history, by month.";
|
||||
}
|
||||
else if (*command == "ghistory.annual") {
|
||||
out << "Shows a graphical report of task history, by year.";
|
||||
}
|
||||
else if (*command == "burndown") {
|
||||
out << "Alias to burndown.weekly.";
|
||||
}
|
||||
else if (*command == "burndown.daily") {
|
||||
out << "Shows a graphical burndown chart, by day.";
|
||||
}
|
||||
else if (*command == "burndown.weekly") {
|
||||
out << "Shows a graphical burndown chart, by week.";
|
||||
}
|
||||
else if (*command == "burndown.monthly") {
|
||||
out << "Shows a graphical burndown chart, by month.";
|
||||
}
|
||||
else if (*command == "calendar") {
|
||||
out << "Shows a calendar, with due tasks marked.";
|
||||
}
|
||||
else if (*command == "stats") {
|
||||
out << "Shows task database statistics.";
|
||||
}
|
||||
else if (*command == "import") {
|
||||
out << "Imports tasks from a variety of formats.";
|
||||
}
|
||||
else if (*command == "export") {
|
||||
out << "Alias to export.csv.";
|
||||
}
|
||||
else if (*command == "export.csv") {
|
||||
out << "Lists all tasks in CSV format.";
|
||||
}
|
||||
else if (*command == "export.ical") {
|
||||
out << "Lists all tasks in iCalendar format.";
|
||||
}
|
||||
else if (*command == "export.vcalendar") {
|
||||
out << "Lists all tasks in vCalendar format.";
|
||||
}
|
||||
else if (*command == "export.yaml") {
|
||||
out << "Lists all tasks in YAML format.";
|
||||
}
|
||||
else if (*command == "merge") {
|
||||
out << "Merges the specified database with the local database.";
|
||||
}
|
||||
else if (*command == "push") {
|
||||
out << "Pushed the local database to the specified URI.";
|
||||
}
|
||||
else if (*command == "pull") {
|
||||
out << "Overwrites the local database with that found at the URI.";
|
||||
}
|
||||
else if (*command == "colors") {
|
||||
out << "Displays all possible colors or a named sample [legend | sample].";
|
||||
}
|
||||
else if (*command == "count") {
|
||||
out << "Shows only the number of matching tasks.";
|
||||
}
|
||||
else if (*command == "version") {
|
||||
out << "Shows the task version number.";
|
||||
}
|
||||
else if (*command == "show") {
|
||||
out << "Shows the entire task configuration variables.";
|
||||
}
|
||||
else if (*command == "config") {
|
||||
out << "Add, modify and remove settings in the task configuration.";
|
||||
}
|
||||
else if (*command == "diagnostics") {
|
||||
out << "Information needed when reporting a problem.";
|
||||
}
|
||||
else if (*command == "help") {
|
||||
out << "Shows the long usage text.";
|
||||
}
|
||||
else if (*command == "rm") {
|
||||
out << "Alias to delete.";
|
||||
}
|
||||
else {
|
||||
// try to interpret this as custom report
|
||||
out << context.config.get (std::string ("report." + *command + ".description"));
|
||||
}
|
||||
|
||||
out << "\n";
|
||||
}
|
||||
|
||||
outs = out.str ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
void handleUndo ()
|
||||
{
|
||||
|
@ -2739,3 +2932,4 @@ int deltaSubstitutions (Task& task)
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// vim: ts=2 sw=2 et
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue