taskwarrior/ideas.txt
2008-06-27 00:24:39 -04:00

69 lines
2.2 KiB
Text

Real Parsing
define grammar for command line
implement flex/bison parser
new grammar includes:
- task delete <ID> [<ID> ...]
- task done <ID> [<ID> ...]
User-Defined Reports
report.large=id,uuid,project,priority,entry,start,due,active,tags,description
report.long=id,project,priority,entry,start,due,tags,description
report.list=id,project,priority,due,active,description
report.ls=id,project,priority,description
Sorting is always: due+ priority- project+
ID UUID Project Priority Entry Start Due Active Tags Description
Test Suite
allow .taskrc override
debug=on to cause all cout to be csv
regression tests for every bug, command, feature
Recurrence
+ new T::status recurring (stored as R)
- new user-specifiable attributes - recur:<duration> [until:<date>]
- duration:
daily, day, 1d
Nd
weekly, 1w
Nw
biweekly
monthly, 1m
bimonthly
Nm
quarterly, 1q
Nq
biannual, biyearly
annual, yearly, 1y
Na, Ny
- recur: without due: => Error
- until: without recur: => Error
- New file format (version 3): supports status R, recur:, until:, base:, range:
- on TDB.gc, adjust base: and compress range: for T::status == recurring
- all recurring tasks are removed from lists by T::*pendingT, and a synthetic
addendum is generated
- when a recurring task is completed, range: is updated, and a synthetic
task is added to completed.data that retains the attributes of the root
- Scenario:
# Today = 6/22/2008
% task add Friday due:6/15/2008 recur:weekly until 8/1/2008
# task must generate a base and range
# base:6/15/2008
# range:-------
# ^6/15
# ^6/22
# ^6/29
# ^7/6
# ^7/13
# ^7/20
# ^7/27
% task ls
1 Friday 6/15/2008 .lte. today (overdue)
2 Friday 6/22/2008 .lte. today (due)
3 Friday 6/29/2008 one recurrence
4 Friday 7/6/2008 (not shown)
5 Friday 7/13/2008 (not shown)
6 Friday 7/20/2008 (not shown)
7 Friday 7/27/2008 (not shown)