doing 2.0.5.pre → 2.0.6.pre

Sign up to get free protection for your applications and to get access to all the features.
data/doing.rdoc CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Doing uses a TaskPaper-like formatting to keep a plain text record of what you've been doing, complete with tag-based time tracking. The command line tool allows you to add entries, annotate with tags and notes, and view your entries with myriad options, with a focus on a "natural" language syntax.
4
4
 
5
- v2.0.5.pre
5
+ v2.0.6.pre
6
6
 
7
7
  === Global Options
8
8
  === --config_file arg
@@ -191,6 +191,66 @@ Label moved items with @from(SECTION_NAME)
191
191
 
192
192
 
193
193
 
194
+ ==== Command: <tt>autotag </tt>
195
+ Autotag last entry or filtered entries
196
+
197
+
198
+ ===== Options
199
+ ===== --bool BOOLEAN
200
+
201
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
202
+
203
+ [Default Value] AND
204
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
205
+
206
+
207
+ ===== -c|--count COUNT
208
+
209
+ How many recent entries to autotag (0 for all)
210
+
211
+ [Default Value] 1
212
+ [Must Match] (?-mix:^\d+$)
213
+
214
+
215
+ ===== -s|--section SECTION_NAME
216
+
217
+ Section
218
+
219
+ [Default Value] All
220
+
221
+
222
+ ===== --search QUERY
223
+
224
+ Autotag entries matching search filter,
225
+ surround with slashes for regex (e.g. "/query.*/"),
226
+ start with single quote for exact match ("'query")
227
+
228
+ [Default Value] None
229
+
230
+
231
+ ===== --tag TAG
232
+
233
+ Autotag the last X entries containing TAG.
234
+ Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
235
+
236
+ [Default Value] None
237
+
238
+
239
+ ===== --force
240
+ Don't ask permission to autotag all entries when count is 0
241
+
242
+
243
+
244
+ ===== -i|--interactive
245
+ Select item(s) to tag from a menu of matching entries
246
+
247
+
248
+
249
+ ===== -u|--unfinished
250
+ Autotag last entry (or entries) not marked @done
251
+
252
+
253
+
194
254
  ==== Command: <tt>cancel COUNT</tt>
195
255
  End last X entries with no time tracked
196
256
 
@@ -241,6 +301,26 @@ Select a section to display from a menu
241
301
  List available color variables for configuration templates and views
242
302
 
243
303
 
304
+ ==== Command: <tt>completion </tt>
305
+ Generate shell completion scripts
306
+
307
+
308
+ ===== Options
309
+ ===== -f|--file PATH
310
+
311
+ File to write output to
312
+
313
+ [Default Value] stdout
314
+
315
+
316
+ ===== -t|--type SHELL
317
+
318
+ Shell to generate for (bash, zsh, fish)
319
+
320
+ [Default Value] zsh
321
+ [Must Match] (?i-mx:^[bzf](?:[ai]?sh)?$)
322
+
323
+
244
324
  ==== Command: <tt>config KEY_PATH</tt>
245
325
  Edit the configuration file or output a value from it
246
326
 
@@ -283,7 +363,7 @@ Format for --dump (json|yaml|raw)
283
363
  [Must Match] (?-mix:^(?:y(?:aml)?|j(?:son)?|r(?:aw)?)$)
284
364
 
285
365
 
286
- ===== -d|--[no-]dump
366
+ ===== -d|--dump
287
367
  Show a config key value based on arguments. Separate key paths with colons or dots, e.g. "export_templates.html". Empty arguments outputs the entire config.
288
368
 
289
369
 
@@ -762,7 +842,7 @@ Section
762
842
  [Default Value] None
763
843
 
764
844
 
765
- ===== -a|--[no-]archive
845
+ ===== -a|--archive
766
846
  Archive previous @meanwhile entry
767
847
 
768
848
 
@@ -937,10 +1017,10 @@ Import plugins are available using `doing import --type PLUGIN`.
937
1017
  List plugins of type (import, export)
938
1018
 
939
1019
  [Default Value] all
940
- [Must Match] (?i-mx:^[iea].*$)
1020
+ [Must Match] (?i-mx:^(?:[iea].*)$)
941
1021
 
942
1022
 
943
- ===== -c|--[no-]column
1023
+ ===== -c|--column
944
1024
  List in single column for completion
945
1025
 
946
1026
 
@@ -1079,7 +1159,7 @@ List sections
1079
1159
 
1080
1160
 
1081
1161
  ===== Options
1082
- ===== -c|--[no-]column
1162
+ ===== -c|--column
1083
1163
  List in single column
1084
1164
 
1085
1165
 
@@ -1140,7 +1220,7 @@ Archive selected items
1140
1220
 
1141
1221
 
1142
1222
 
1143
- ===== --[no-]again|--[no-]resume
1223
+ ===== --again|--resume
1144
1224
  Copy selection as a new entry with current time and no @done tag. Only works with single selections. Can be combined with --editor.
1145
1225
 
1146
1226
 
@@ -1449,7 +1529,7 @@ List in single column for completion
1449
1529
 
1450
1530
 
1451
1531
 
1452
- ===== -l|--[no-]list
1532
+ ===== -l|--list
1453
1533
  List all available templates
1454
1534
 
1455
1535
 
@@ -2,3 +2,4 @@
2
2
 
3
3
  scripts/generate_fish_completions.rb > lib/completion/doing.fish
4
4
  scripts/generate_bash_completions.rb > lib/completion/doing.bash
5
+ scripts/generate_zsh_completions.rb > lib/completion/_doing.zsh
@@ -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