doing 2.0.5.pre → 2.0.9.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,151 +1,203 @@
1
- #compdef doing
2
-
3
- local ret=1 state
1
+ compdef _doing doing
2
+
3
+ function _doing() {
4
+ local line state
5
+
6
+ function _commands {
7
+ local -a commands
8
+
9
+ commands=(
10
+ 'add_section:Add a new section to the "doing" file'
11
+ 'again:Repeat last entry as new entry'
12
+ 'resume:Repeat last entry as new entry'
13
+ 'archive:Move entries between sections'
14
+ 'move:Move entries between sections'
15
+ 'autotag:Autotag last entry or filtered entries'
16
+ 'cancel:End last X entries with no time tracked'
17
+ 'choose:Select a section to display from a menu'
18
+ 'colors:List available color variables for configuration templates and views'
19
+ 'config:Edit the configuration file or output a value from it'
20
+ 'done:Add a completed item with @done(date)'
21
+ 'did:Add a completed item with @done(date)'
22
+ 'finish:Mark last X entries as @done'
23
+ 'grep:Search for entries'
24
+ 'search:Search for entries'
25
+ 'help:Shows a list of commands or help for one command'
26
+ 'import:Import entries from an external source'
27
+ 'last:Show the last entry'
28
+ 'later:Add an item to the Later section'
29
+ 'mark:Mark last entry as flagged'
30
+ 'flag:Mark last entry as flagged'
31
+ 'meanwhile:Finish any running @meanwhile tasks and optionally create a new one'
32
+ 'note:Add a note to the last entry'
33
+ 'now:Add an entry'
34
+ 'next:Add an entry'
35
+ 'on:List entries for a date'
36
+ 'open:Open the "doing" file in an editor'
37
+ 'plugins:List installed plugins'
38
+ 'recent:List recent entries'
39
+ 'reset:Reset the start time of an entry'
40
+ 'begin:Reset the start time of an entry'
41
+ 'rotate:Move entries to archive file'
42
+ 'sections:List sections'
43
+ 'select:Display an interactive menu to perform operations'
44
+ 'show:List all entries'
45
+ 'since:List entries since a date'
46
+ 'tag:Add tag(s) to last entry'
47
+ 'template:Output HTML'
48
+ 'test:Test Stuff'
49
+ 'today:List entries from today'
50
+ 'undo:Undo the last change to the doing_file'
51
+ 'view:Display a user-created view'
52
+ 'views:List available custom views'
53
+ 'wiki:Output a tag wiki'
54
+ 'yesterday:List entries from yesterday'
55
+ )
56
+ _describe 'command' commands
57
+ }
4
58
 
5
- _arguments \
6
- ':subcommand:->subcommand' \
7
- '*::options:->options' && ret=0
59
+ _arguments -C "1: :_commands" "*::arg:->args"
8
60
 
9
- case $state in
10
- subcommand)
11
- local -a subcommands
12
- subcommands=(
13
- 'help:Shows a list of commands or help for one command'
14
- 'now:Add an entry'
15
- 'note:Add a note to the last entry'
16
- 'meanwhile:Finish any running @meanwhile tasks and optionally create a new one'
17
- 'later:Add an item to the Later section'
18
- 'done:Add a completed item with @done(date). No argument finishes last entry.'
19
- 'finish:Mark last X entries as @done'
20
- 'tag:Tag last entry'
21
- 'mark:Mark last entry as highlighted'
22
- 'show:List all entries'
23
- 'grep:Search for entries'
24
- 'recent:List recent entries'
25
- 'today:List entries from today'
26
- 'yesterday:List entries from yesterday'
27
- 'last:Show the last entry'
28
- 'sections:List sections'
29
- 'choose:Select a section to display from a menu'
30
- 'add_section:Add a new section to the "doing" file'
31
- 'view:Display a user-created view'
32
- 'views:List available custom views'
33
- 'archive:Move entries in between sections'
34
- 'open:Open the "doing" file in an editor'
35
- 'config:Edit the configuration file'
36
- 'undo:Undo the last change to the doing_file'
37
- )
38
- _describe -t subcommands 'doing subcommand' subcommands && ret=0
39
- ;;
40
61
 
41
- options)
42
- age=({-a,--age=}"[Age (oldest/newest) (default: newest)]")
43
- app=({-a,--app=}"[Edit entry with specified app (default: none)")
44
- archive=({-a,--archive}"[Archive previous @meanwhile entry]")
45
- back="--back=[Backdate start time (4pm|20m|2h|yesterday noon) (default: none)]"
46
- boolean=({-b,--boolean=}"[Tag boolean (AND,OR,NONE) (default: OR)]")
47
- bool=({-b,--bool=}"[Tag boolean (default: AND)]")
48
- count=({-c,--count=}"[How many recent entries to tag (default: 1)]")
49
- count=({-c,--count=}"[Max count to show (default: 0)]")
50
- date=({-d,--date}"[Include date (default: enabled)]")
51
- editor=( {-e,--editor}"[Edit entry with $EDITOR]")
52
- finish=({-f,--finish_last}"[Timed entry, marks last entry in section as @done]")
53
- file=({-f,--file=}"[Specify alternate doing file (default: none)]")
54
- noarchive="--no-archive[Don't archive previous @meanwhile entry]"
55
- nodate="--no-date[Don't include date]"
56
- noeditor="--no-editor[Don't edit entry with $EDITOR]"
57
- note=({-n,--note=}"[Note (default: none)]")
58
- notimes="--no-times[Don't show time intervals on @done tasks.]"
59
- nototals="--no-totals[Don't show intervals with totals at the end of output]"
60
- output=({-o,--output=}"[Output to export format (csv|html) (default: none)]")
61
- remove=({-r,--remove}"[Replace/Remove last entry's note]")
62
- section=({-s,--section=}"[Section (default: Currently)]")
63
- sort=({-s,--sort=}"[Sort order (asc/desc) (default: asc)]")
64
- times=({-t,--times}"[Show time intervals on @done tasks (default: enabled)]")
65
- took=({-t,--took=}"[Set completion date to start date plus XX(mhd) or (HH:MM) (default: none)]")
66
- totals="--totals[Show intervals with totals at the end of output]"
67
62
 
68
- case $words[1] in
69
- now)
70
- args=( $back $noeditor $editor $note $section $finish )
63
+ case $line[1] in
64
+ add_section)
65
+ args=( )
71
66
  ;;
72
-
73
- note)
74
- args=( $section $editor $remove )
67
+ again)
68
+ args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" )
75
69
  ;;
76
-
77
- meanwhile)
78
- args=( $back $noeditor $editor $note $section $archive $noarchive )
70
+ resume)
71
+ args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" )
79
72
  ;;
80
-
81
- later)
82
- args=( $back $noeditor $editor $note $app )
73
+ archive)
74
+ args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" )
83
75
  ;;
84
-
85
- done)
86
- args=( $back $took $section $remove $date $nodate $archive $editor $noeditor )
76
+ move)
77
+ args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" )
87
78
  ;;
88
-
89
- finish)
90
- args=( $back $took $section $date $nodate $archive $editor $noeditor )
79
+ autotag)
80
+ args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to autotag]" "(--force)--force}[Dont ask permission to autotag all entries when count is 0t ask permission to autotag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" {-s,--section=}"[Section]" "(--search=)--search=}[Autotag entries matching search filter]" "(--tag=)--tag=}[Autotag the last X entries containing TAG]" {-u,--unfinished}"[Autotag last entry]" )
91
81
  ;;
92
-
93
- tag)
94
- args=( $section $count $date $remove )
82
+ cancel)
83
+ args=( {-a,--archive}"[Archive entries]" "(--bool=)--bool=}[Boolean]" {-i,--interactive}"[Select item(s) to cancel from a menu of matching entries]" {-s,--section=}"[Section]" "(--tag=)--tag=}[Cancel the last X entries containing TAG]" {-u,--unfinished}"[Cancel last entry]" )
95
84
  ;;
96
-
97
- mark)
98
- args=( $section $remove )
85
+ choose)
86
+ args=( )
99
87
  ;;
100
-
101
- show)
102
- args=( $boolean $count $age $sort $output $times $notimes $totals $nototals )
88
+ colors)
89
+ args=( )
103
90
  ;;
104
-
105
- grep)
106
- args=( $section $output $times $notimes $totals $nototals )
91
+ config)
92
+ args=( {-d,--dump}"[Show a config key value based on arguments]" {-e,--editor=}"[Editor to use]" {-o,--output=}"[Format for --dump]" {-u,--update}"[Update config file with missing configuration options]" )
107
93
  ;;
108
-
109
- recent)
110
- args=( $section $times $notimes $totals $nototals )
94
+ done)
95
+ args=( {-a,--archive}"[Immediately archive the entry]" "(--at=)--at=}[Set finish date to specific date/time]" {-b,--back=}"[Backdate start date by interval [4pm|20m|2h|yesterday noon]]" "(--date)--date}[Include date]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Include a note]" {-r,--remove}"[Remove @done tag]" {-s,--section=}"[Section]" {-t,--took=}"[Set completion date to start date plus interval]" {-u,--unfinished}"[Finish last entry not already marked @done]" )
111
96
  ;;
112
-
113
- today)
114
- args=( $output $times $notimes $totals $nototals )
97
+ did)
98
+ args=( {-a,--archive}"[Immediately archive the entry]" "(--at=)--at=}[Set finish date to specific date/time]" {-b,--back=}"[Backdate start date by interval [4pm|20m|2h|yesterday noon]]" "(--date)--date}[Include date]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Include a note]" {-r,--remove}"[Remove @done tag]" {-s,--section=}"[Section]" {-t,--took=}"[Set completion date to start date plus interval]" {-u,--unfinished}"[Finish last entry not already marked @done]" )
115
99
  ;;
116
-
117
- yesterday)
118
- args=( $output $times $notimes $totals $nototals )
100
+ finish)
101
+ args=( {-a,--archive}"[Archive entries]" "(--at=)--at=}[Set finish date to specific date/time]" "(--auto)--auto}[Auto-generate finish dates from next entrys start times start time]" {-b,--back=}"[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]" "(--bool=)--bool=}[Boolean]" "(--date)--date}[Include date]" {-i,--interactive}"[Select item(s) to finish from a menu of matching entries]" {-r,--remove}"[Remove done tag]" {-s,--section=}"[Section]" "(--search=)--search=}[Finish the last X entries matching search filter]" {-t,--took=}"[Set the completed date to the start date plus XX[hmd]]" "(--tag=)--tag=}[Finish the last X entries containing TAG]" {-u,--unfinished}"[Finish last entry]" )
119
102
  ;;
120
-
121
- view)
122
- args=( $section $count $output $times $notimes $totals $nototals )
103
+ grep)
104
+ args=( "(--after=)--after=}[Constrain search to entries newer than date]" "(--before=)--before=}[Constrain search to entries older than date]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
123
105
  ;;
124
-
125
- archive)
126
- args=( $keep $to $bool )
106
+ search)
107
+ args=( "(--after=)--after=}[Constrain search to entries newer than date]" "(--before=)--before=}[Constrain search to entries older than date]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
127
108
  ;;
128
-
129
- open)
130
- args=(
131
- "-a [open with app name (default:none)"
132
- "-b [open with app bundle id (default: none)"
133
- "-e [open with $EDITOR]"
134
- )
109
+ help)
110
+ args=( )
135
111
  ;;
136
-
137
- config)
138
- args=( $editor )
112
+ import)
113
+ args=( "(--after=)--after=}[Import entries newer than date]" "(--autotag)--autotag}[Autotag entries]" "(--before=)--before=}[Import entries older than date]" {-f,--from=}"[Date range to import]" "(--only_timed)--only_timed}[Only import items with recorded time intervals]" "(--overlap)--overlap}[Allow entries that overlap existing times]" "(--prefix=)--prefix=}[Prefix entries with]" {-s,--section=}"[Target section]" "(--search=)--search=}[Only import items matching search]" "(--tag=)--tag=}[Tag all imported entries]" "(--type=)--type=}[Import type]" )
139
114
  ;;
140
-
141
- undo)
142
- args=( $file )
115
+ last)
116
+ args=( "(--bool=)--bool=}[Tag boolean]" {-e,--editor}"[Edit entry with vim]" {-s,--section=}"[Specify a section]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
143
117
  ;;
118
+ later)
119
+ args=( {-b,--back=}"[Backdate start time to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" )
120
+ ;;
121
+ mark)
122
+ args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" )
123
+ ;;
124
+ flag)
125
+ args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" )
126
+ ;;
127
+ meanwhile)
128
+ args=( {-a,--archive}"[Archive previous @meanwhile entry]" {-b,--back=}"[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" {-s,--section=}"[Section]" )
129
+ ;;
130
+ note)
131
+ args=( "(--bool=)--bool=}[Boolean]" {-e,--editor}"[Edit entry with vim]" {-i,--interactive}"[Select item for new note from a menu of matching entries]" {-r,--remove}"[Replace/Remove last entrys notes note]" {-s,--section=}"[Section]" "(--search=)--search=}[Add/remove note from last entry matching search filter]" "(--tag=)--tag=}[Add/remove note from last entry matching tag]" )
132
+ ;;
133
+ now)
134
+ args=( {-b,--back=}"[Backdate start time [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-f,--finish_last}"[Timed entry]" {-n,--note=}"[Include a note]" {-s,--section=}"[Section]" )
135
+ ;;
136
+ next)
137
+ args=( {-b,--back=}"[Backdate start time [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-f,--finish_last}"[Timed entry]" {-n,--note=}"[Include a note]" {-s,--section=}"[Section]" )
138
+ ;;
139
+ on)
140
+ args=( {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
141
+ ;;
142
+ open)
143
+ args=( {-a,--app=}"[Open with app name]" {-b,--bundle_id=}"[Open with app bundle id]" )
144
+ ;;
145
+ plugins)
146
+ args=( {-c,--column}"[List in single column for completion]" {-t,--type=}"[List plugins of type]" )
147
+ ;;
148
+ recent)
149
+ args=( {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
150
+ ;;
151
+ reset)
152
+ args=( "(--bool=)--bool=}[Boolean]" {-i,--interactive}"[Select from a menu of matching entries]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Set the start date of an item to now]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" )
153
+ ;;
154
+ begin)
155
+ args=( "(--bool=)--bool=}[Boolean]" {-i,--interactive}"[Select from a menu of matching entries]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Set the start date of an item to now]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" )
156
+ ;;
157
+ rotate)
158
+ args=( "(--before=)--before=}[Rotate entries older than date]" "(--bool=)--bool=}[Tag boolean]" {-k,--keep=}"[How many items to keep in each section]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
159
+ ;;
160
+ sections)
161
+ args=( {-c,--column}"[List in single column]" )
162
+ ;;
163
+ select)
164
+ args=( {-a,--archive}"[Archive selected items]" "(--resume)--resume}[Copy selection as a new entry with current time and no @done tag]" {-c,--cancel}"[Cancel selected items]" {-d,--delete}"[Delete selected items]" {-e,--editor}"[Edit selected item(s)]" {-f,--finish}"[Add @done with current time to selected item(s)]" "(--flag)--flag}[Add flag to selected item(s)]" "(--force)--force}[Perform action without confirmation]" {-m,--move=}"[Move selected items to section]" "(--menu)--menu}[Use --no-menu to skip the interactive menu]" {-o,--output=}"[Output entries to format]" "(--search=)--search=}[Initial search query for filtering]" {-r,--remove}"[Reverse -c]" {-s,--section=}"[Select from a specific section]" "(--save_to=)--save_to=}[Save selected entries to file using --output format]" {-t,--tag=}"[Tag selected entries]" )
165
+ ;;
166
+ show)
167
+ args=( {-a,--age=}"[Age]" "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Max count to show]" {-f,--from=}"[Date range to show]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--sort=}"[Sort order]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
168
+ ;;
169
+ since)
170
+ args=( {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
171
+ ;;
172
+ tag)
173
+ args=( {-a,--autotag}"[Autotag entries based on autotag configuration in ~/]" "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to tag all entries when count is 0t ask permission to tag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" {-r,--remove}"[Remove given tag(s)]" "(--regex)--regex}[Interpret tag string as regular expression]" "(--rename=)--rename=}[Replace existing tag with tag argument]" {-s,--section=}"[Section]" "(--search=)--search=}[Tag entries matching search filter]" "(--tag=)--tag=}[Tag the last X entries containing TAG]" {-u,--unfinished}"[Tag last entry]" )
174
+ ;;
175
+ template)
176
+ args=( {-l,--list}"[List all available templates]" )
177
+ ;;
178
+ test)
179
+ args=( )
180
+ ;;
181
+ today)
182
+ args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
183
+ ;;
184
+ undo)
185
+ args=( {-f,--file=}"[Specify alternate doing file]" )
186
+ ;;
187
+ view)
188
+ args=( "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Count to display]" "(--color)--color}[Include colors in output]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
189
+ ;;
190
+ views)
191
+ args=( {-c,--column}"[List in single column]" )
192
+ ;;
193
+ wiki)
194
+ args=( "(--after=)--after=}[Include entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[Include entries older than date]" {-f,--from=}"[Date range to include]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
195
+ ;;
196
+ yesterday)
197
+ args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
198
+ ;;
199
+ esac
144
200
 
145
- esac
146
-
147
- _arguments $args && ret=0
148
- ;;
149
- esac
201
+ _arguments -s $args
202
+ }
150
203
 
151
- return ret
@@ -1,9 +1,9 @@
1
1
  _doing_again() {
2
2
 
3
3
  if [[ "$token" == --* ]]; then
4
- COMPREPLY=( $( compgen -W '--bool --editor --in --note --section --search --tag' -- $token ) )
4
+ COMPREPLY=( $( compgen -W '--bool --editor --interactive --in --note --section --search --tag' -- $token ) )
5
5
  elif [[ "$token" == -* ]]; then
6
- COMPREPLY=( $( compgen -W '-e -n -s --bool --editor --in --note --section --search --tag' -- $token ) )
6
+ COMPREPLY=( $( compgen -W '-e -i -n -s --bool --editor --interactive --in --note --section --search --tag' -- $token ) )
7
7
 
8
8
  fi
9
9
  }
@@ -38,12 +38,22 @@ IFS="$OLD_IFS"
38
38
  fi
39
39
  }
40
40
 
41
+ _doing_autotag() {
42
+
43
+ if [[ "$token" == --* ]]; then
44
+ COMPREPLY=( $( compgen -W '--bool --count --force --interactive --section --search --tag --unfinished' -- $token ) )
45
+ elif [[ "$token" == -* ]]; then
46
+ COMPREPLY=( $( compgen -W '-c -i -s -u --bool --count --force --interactive --section --search --tag --unfinished' -- $token ) )
47
+
48
+ fi
49
+ }
50
+
41
51
  _doing_cancel() {
42
52
 
43
53
  if [[ "$token" == --* ]]; then
44
- COMPREPLY=( $( compgen -W '--archive --bool --section --tag --unfinished' -- $token ) )
54
+ COMPREPLY=( $( compgen -W '--archive --bool --interactive --section --tag --unfinished' -- $token ) )
45
55
  elif [[ "$token" == -* ]]; then
46
- COMPREPLY=( $( compgen -W '-a -s -u --archive --bool --section --tag --unfinished' -- $token ) )
56
+ COMPREPLY=( $( compgen -W '-a -i -s -u --archive --bool --interactive --section --tag --unfinished' -- $token ) )
47
57
 
48
58
  fi
49
59
  }
@@ -51,9 +61,9 @@ _doing_cancel() {
51
61
  _doing_config() {
52
62
 
53
63
  if [[ "$token" == --* ]]; then
54
- COMPREPLY=( $( compgen -W '--editor --update' -- $token ) )
64
+ COMPREPLY=( $( compgen -W '--dump --editor --output --update' -- $token ) )
55
65
  elif [[ "$token" == -* ]]; then
56
- COMPREPLY=( $( compgen -W '-e -u --editor --update' -- $token ) )
66
+ COMPREPLY=( $( compgen -W '-d -e -o -u --dump --editor --output --update' -- $token ) )
57
67
 
58
68
  fi
59
69
  }
@@ -61,9 +71,9 @@ _doing_config() {
61
71
  _doing_done() {
62
72
 
63
73
  if [[ "$token" == --* ]]; then
64
- COMPREPLY=( $( compgen -W '--archive --at --back --date --editor --remove --section --took' -- $token ) )
74
+ COMPREPLY=( $( compgen -W '--archive --at --back --date --editor --note --remove --section --took --unfinished' -- $token ) )
65
75
  elif [[ "$token" == -* ]]; then
66
- COMPREPLY=( $( compgen -W '-a -b -e -r -s -t --archive --at --back --date --editor --remove --section --took' -- $token ) )
76
+ COMPREPLY=( $( compgen -W '-a -b -e -n -r -s -t -u --archive --at --back --date --editor --note --remove --section --took --unfinished' -- $token ) )
67
77
 
68
78
  fi
69
79
  }
@@ -71,9 +81,9 @@ _doing_done() {
71
81
  _doing_finish() {
72
82
 
73
83
  if [[ "$token" == --* ]]; then
74
- COMPREPLY=( $( compgen -W '--archive --at --auto --back --bool --date --section --search --took --tag --unfinished' -- $token ) )
84
+ COMPREPLY=( $( compgen -W '--archive --at --auto --back --bool --date --interactive --remove --section --search --took --tag --unfinished' -- $token ) )
75
85
  elif [[ "$token" == -* ]]; then
76
- COMPREPLY=( $( compgen -W '-a -b -s -t -u --archive --at --auto --back --bool --date --section --search --took --tag --unfinished' -- $token ) )
86
+ COMPREPLY=( $( compgen -W '-a -b -i -r -s -t -u --archive --at --auto --back --bool --date --interactive --remove --section --search --took --tag --unfinished' -- $token ) )
77
87
 
78
88
  fi
79
89
  }
@@ -131,9 +141,9 @@ _doing_later() {
131
141
  _doing_mark() {
132
142
 
133
143
  if [[ "$token" == --* ]]; then
134
- COMPREPLY=( $( compgen -W '--remove --section --unfinished' -- $token ) )
144
+ COMPREPLY=( $( compgen -W '--bool --count --date --force --interactive --remove --section --search --tag --unfinished' -- $token ) )
135
145
  elif [[ "$token" == -* ]]; then
136
- COMPREPLY=( $( compgen -W '-r -s -u --remove --section --unfinished' -- $token ) )
146
+ COMPREPLY=( $( compgen -W '-c -d -i -r -s -u --bool --count --date --force --interactive --remove --section --search --tag --unfinished' -- $token ) )
137
147
 
138
148
  fi
139
149
  }
@@ -151,9 +161,9 @@ _doing_meanwhile() {
151
161
  _doing_note() {
152
162
 
153
163
  if [[ "$token" == --* ]]; then
154
- COMPREPLY=( $( compgen -W '--editor --remove --section' -- $token ) )
164
+ COMPREPLY=( $( compgen -W '--bool --editor --interactive --remove --section --search --tag' -- $token ) )
155
165
  elif [[ "$token" == -* ]]; then
156
- COMPREPLY=( $( compgen -W '-e -r -s --editor --remove --section' -- $token ) )
166
+ COMPREPLY=( $( compgen -W '-e -i -r -s --bool --editor --interactive --remove --section --search --tag' -- $token ) )
157
167
 
158
168
  fi
159
169
  }
@@ -181,9 +191,9 @@ _doing_on() {
181
191
  _doing_open() {
182
192
 
183
193
  if [[ "$token" == --* ]]; then
184
- COMPREPLY=( $( compgen -W '--app --bundle_id --editor' -- $token ) )
194
+ COMPREPLY=( $( compgen -W '--app --bundle_id' -- $token ) )
185
195
  elif [[ "$token" == -* ]]; then
186
- COMPREPLY=( $( compgen -W '-a -b -e --app --bundle_id --editor' -- $token ) )
196
+ COMPREPLY=( $( compgen -W '-a -b --app --bundle_id' -- $token ) )
187
197
 
188
198
  fi
189
199
  }
@@ -201,9 +211,19 @@ _doing_plugins() {
201
211
  _doing_recent() {
202
212
 
203
213
  if [[ "$token" == --* ]]; then
204
- COMPREPLY=( $( compgen -W '--section --times --tag_sort --totals' -- $token ) )
214
+ COMPREPLY=( $( compgen -W '--interactive --section --times --tag_sort --totals' -- $token ) )
205
215
  elif [[ "$token" == -* ]]; then
206
- COMPREPLY=( $( compgen -W '-s -t --section --times --tag_sort --totals' -- $token ) )
216
+ COMPREPLY=( $( compgen -W '-i -s -t --interactive --section --times --tag_sort --totals' -- $token ) )
217
+
218
+ fi
219
+ }
220
+
221
+ _doing_reset() {
222
+
223
+ if [[ "$token" == --* ]]; then
224
+ COMPREPLY=( $( compgen -W '--bool --interactive --resume --section --search --tag' -- $token ) )
225
+ elif [[ "$token" == -* ]]; then
226
+ COMPREPLY=( $( compgen -W '-i -r -s --bool --interactive --resume --section --search --tag' -- $token ) )
207
227
 
208
228
  fi
209
229
  }
@@ -231,9 +251,9 @@ _doing_sections() {
231
251
  _doing_select() {
232
252
 
233
253
  if [[ "$token" == --* ]]; then
234
- COMPREPLY=( $( compgen -W '--archive --cancel --delete --editor --finish --flag --force --move --menu --output --query --remove --section --save_to --tag' -- $token ) )
254
+ COMPREPLY=( $( compgen -W '--archive --resume --cancel --delete --editor --finish --flag --force --move --menu --output --search --remove --section --save_to --tag' -- $token ) )
235
255
  elif [[ "$token" == -* ]]; then
236
- COMPREPLY=( $( compgen -W '-a -c -d -e -f -m -o -q -r -s -t --archive --cancel --delete --editor --finish --flag --force --move --menu --output --query --remove --section --save_to --tag' -- $token ) )
256
+ COMPREPLY=( $( compgen -W '-a -c -d -e -f -m -o -r -s -t --archive --resume --cancel --delete --editor --finish --flag --force --move --menu --output --search --remove --section --save_to --tag' -- $token ) )
237
257
 
238
258
  fi
239
259
  }
@@ -246,9 +266,9 @@ local words=$(doing sections)
246
266
  IFS="$OLD_IFS"
247
267
 
248
268
  if [[ "$token" == --* ]]; then
249
- COMPREPLY=( $( compgen -W '--age --after --bool --before --count --from --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
269
+ COMPREPLY=( $( compgen -W '--age --after --bool --before --count --from --interactive --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
250
270
  elif [[ "$token" == -* ]]; then
251
- COMPREPLY=( $( compgen -W '-a -b -c -f -o -s -t --age --after --bool --before --count --from --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
271
+ COMPREPLY=( $( compgen -W '-a -b -c -f -i -o -s -t --age --after --bool --before --count --from --interactive --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
252
272
  else
253
273
  local nocasematchWasOff=0
254
274
  shopt nocasematch >/dev/null || nocasematchWasOff=1
@@ -281,9 +301,9 @@ _doing_since() {
281
301
  _doing_tag() {
282
302
 
283
303
  if [[ "$token" == --* ]]; then
284
- COMPREPLY=( $( compgen -W '--autotag --bool --count --date --force --remove --regex --rename --section --search --tag --unfinished' -- $token ) )
304
+ COMPREPLY=( $( compgen -W '--autotag --bool --count --date --force --interactive --remove --regex --rename --section --search --tag --unfinished' -- $token ) )
285
305
  elif [[ "$token" == -* ]]; then
286
- COMPREPLY=( $( compgen -W '-a -c -d -r -s -u --autotag --bool --count --date --force --remove --regex --rename --section --search --tag --unfinished' -- $token ) )
306
+ COMPREPLY=( $( compgen -W '-a -c -d -i -r -s -u --autotag --bool --count --date --force --interactive --remove --regex --rename --section --search --tag --unfinished' -- $token ) )
287
307
 
288
308
  fi
289
309
  }
@@ -326,9 +346,9 @@ local words=$(doing views)
326
346
  IFS="$OLD_IFS"
327
347
 
328
348
  if [[ "$token" == --* ]]; then
329
- COMPREPLY=( $( compgen -W '--after --bool --before --count --color --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
349
+ COMPREPLY=( $( compgen -W '--after --bool --before --count --color --interactive --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
330
350
  elif [[ "$token" == -* ]]; then
331
- COMPREPLY=( $( compgen -W '-b -c -o -s -t --after --bool --before --count --color --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
351
+ COMPREPLY=( $( compgen -W '-b -c -i -o -s -t --after --bool --before --count --color --interactive --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
332
352
  else
333
353
  local nocasematchWasOff=0
334
354
  shopt nocasematch >/dev/null || nocasematchWasOff=1
@@ -358,6 +378,16 @@ _doing_views() {
358
378
  fi
359
379
  }
360
380
 
381
+ _doing_wiki() {
382
+
383
+ if [[ "$token" == --* ]]; then
384
+ COMPREPLY=( $( compgen -W '--after --bool --before --from --only_timed --section --search --tag' -- $token ) )
385
+ elif [[ "$token" == -* ]]; then
386
+ COMPREPLY=( $( compgen -W '-b -f -s --after --bool --before --from --only_timed --section --search --tag' -- $token ) )
387
+
388
+ fi
389
+ }
390
+
361
391
  _doing_yesterday() {
362
392
 
363
393
  if [[ "$token" == --* ]]; then
@@ -374,7 +404,8 @@ _doing()
374
404
  local token=${COMP_WORDS[$COMP_CWORD]}
375
405
 
376
406
  if [[ $last =~ (again|resume) ]]; then _doing_again
377
- elif [[ $last =~ (archive) ]]; then _doing_archive
407
+ elif [[ $last =~ (archive|move) ]]; then _doing_archive
408
+ elif [[ $last =~ (autotag) ]]; then _doing_autotag
378
409
  elif [[ $last =~ (cancel) ]]; then _doing_cancel
379
410
  elif [[ $last =~ (config) ]]; then _doing_config
380
411
  elif [[ $last =~ (done|did) ]]; then _doing_done
@@ -392,6 +423,7 @@ _doing()
392
423
  elif [[ $last =~ (open) ]]; then _doing_open
393
424
  elif [[ $last =~ (plugins) ]]; then _doing_plugins
394
425
  elif [[ $last =~ (recent) ]]; then _doing_recent
426
+ elif [[ $last =~ (reset|begin) ]]; then _doing_reset
395
427
  elif [[ $last =~ (rotate) ]]; then _doing_rotate
396
428
  elif [[ $last =~ (sections) ]]; then _doing_sections
397
429
  elif [[ $last =~ (select) ]]; then _doing_select
@@ -403,6 +435,7 @@ _doing()
403
435
  elif [[ $last =~ (undo) ]]; then _doing_undo
404
436
  elif [[ $last =~ (view) ]]; then _doing_view
405
437
  elif [[ $last =~ (views) ]]; then _doing_views
438
+ elif [[ $last =~ (wiki) ]]; then _doing_wiki
406
439
  elif [[ $last =~ (yesterday) ]]; then _doing_yesterday
407
440
  else
408
441
  OLD_IFS="$IFS"