doing 1.0.93 → 2.0.6.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS +19 -0
  3. data/CHANGELOG.md +616 -0
  4. data/COMMANDS.md +1181 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +110 -0
  7. data/LICENSE +23 -0
  8. data/README.md +15 -699
  9. data/Rakefile +79 -0
  10. data/_config.yml +1 -0
  11. data/bin/doing +1055 -494
  12. data/doing.gemspec +34 -0
  13. data/doing.rdoc +1839 -0
  14. data/example_plugin.rb +209 -0
  15. data/generate_completions.sh +5 -0
  16. data/img/doing-colors.jpg +0 -0
  17. data/img/doing-printf-wrap-800.jpg +0 -0
  18. data/img/doing-show-note-formatting-800.jpg +0 -0
  19. data/lib/completion/_doing.zsh +203 -0
  20. data/lib/completion/doing.bash +449 -0
  21. data/lib/completion/doing.fish +329 -0
  22. data/lib/doing/array.rb +8 -0
  23. data/lib/doing/cli_status.rb +70 -0
  24. data/lib/doing/colors.rb +136 -0
  25. data/lib/doing/configuration.rb +312 -0
  26. data/lib/doing/errors.rb +109 -0
  27. data/lib/doing/hash.rb +31 -0
  28. data/lib/doing/hooks.rb +59 -0
  29. data/lib/doing/item.rb +155 -0
  30. data/lib/doing/log_adapter.rb +344 -0
  31. data/lib/doing/markdown_document_listener.rb +174 -0
  32. data/lib/doing/note.rb +59 -0
  33. data/lib/doing/pager.rb +95 -0
  34. data/lib/doing/plugin_manager.rb +208 -0
  35. data/lib/doing/plugins/export/csv_export.rb +48 -0
  36. data/lib/doing/plugins/export/html_export.rb +83 -0
  37. data/lib/doing/plugins/export/json_export.rb +140 -0
  38. data/lib/doing/plugins/export/markdown_export.rb +85 -0
  39. data/lib/doing/plugins/export/taskpaper_export.rb +34 -0
  40. data/lib/doing/plugins/export/template_export.rb +141 -0
  41. data/lib/doing/plugins/import/cal_to_json.scpt +0 -0
  42. data/lib/doing/plugins/import/calendar_import.rb +76 -0
  43. data/lib/doing/plugins/import/doing_import.rb +144 -0
  44. data/lib/doing/plugins/import/timing_import.rb +78 -0
  45. data/lib/doing/string.rb +348 -0
  46. data/lib/doing/symbol.rb +16 -0
  47. data/lib/doing/time.rb +18 -0
  48. data/lib/doing/util.rb +186 -0
  49. data/lib/doing/version.rb +1 -1
  50. data/lib/doing/wwid.rb +1868 -2349
  51. data/lib/doing/wwidfile.rb +117 -0
  52. data/lib/doing.rb +43 -3
  53. data/lib/examples/commands/autotag.rb +63 -0
  54. data/lib/examples/commands/wiki.rb +81 -0
  55. data/lib/examples/plugins/hooks.rb +22 -0
  56. data/lib/examples/plugins/say_export.rb +202 -0
  57. data/lib/examples/plugins/templates/wiki.css +169 -0
  58. data/lib/examples/plugins/templates/wiki.haml +27 -0
  59. data/lib/examples/plugins/templates/wiki_index.haml +18 -0
  60. data/lib/examples/plugins/wiki_export.rb +87 -0
  61. data/lib/templates/doing-markdown.erb +5 -0
  62. data/man/doing.1 +964 -0
  63. data/man/doing.1.html +711 -0
  64. data/man/doing.1.ronn +600 -0
  65. data/package-lock.json +3 -0
  66. data/rdoc_to_mmd.rb +42 -0
  67. data/rdocfixer.rb +13 -0
  68. data/scripts/generate_bash_completions.rb +211 -0
  69. data/scripts/generate_fish_completions.rb +204 -0
  70. data/scripts/generate_zsh_completions.rb +168 -0
  71. metadata +82 -7
  72. data/lib/doing/helpers.rb +0 -191
  73. data/lib/doing/markdown_export.rb +0 -16
data/doing.rdoc ADDED
@@ -0,0 +1,1839 @@
1
+ == doing - A CLI for a What Was I Doing system
2
+
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
+
5
+ v2.0.6.pre
6
+
7
+ === Global Options
8
+ === --config_file arg
9
+
10
+ Use a specific configuration file. Deprecated, set $DOING_CONFIG instead.
11
+
12
+ [Default Value] /Users/ttscoff/.doingrc
13
+
14
+
15
+ === -f|--doing_file arg
16
+
17
+ Specify a different doing_file
18
+
19
+ [Default Value] None
20
+
21
+
22
+ === --[no-]color
23
+ Colored output
24
+
25
+
26
+
27
+ === --debug
28
+ Verbose output
29
+
30
+
31
+
32
+ === --[no-]default
33
+ Answer yes/no menus with default option
34
+
35
+
36
+
37
+ === --help
38
+ Show this message
39
+
40
+
41
+
42
+ === --[no-]notes
43
+ Output notes if included in the template
44
+
45
+
46
+
47
+ === -p|--[no-]pager
48
+ Use a pager when output is longer than screen
49
+
50
+
51
+
52
+ === -q|--quiet
53
+ Silence info messages
54
+
55
+
56
+
57
+ === --stdout
58
+ Send results report to STDOUT instead of STDERR
59
+
60
+
61
+
62
+ === --version
63
+ Display the program version
64
+
65
+
66
+
67
+ === -x|--noauto
68
+ Exclude auto tags and default tags
69
+
70
+
71
+
72
+ === Commands
73
+ ==== Command: <tt>add_section SECTION_NAME</tt>
74
+ Add a new section to the "doing" file
75
+
76
+
77
+ ==== Command: <tt>again|resume </tt>
78
+ Repeat last entry as new entry
79
+
80
+
81
+ ===== Options
82
+ ===== --bool BOOLEAN
83
+
84
+ Boolean used to combine multiple tags
85
+
86
+ [Default Value] AND
87
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
88
+
89
+
90
+ ===== --in SECTION_NAME
91
+
92
+ Add new entry to section (default: same section as repeated entry)
93
+
94
+ [Default Value] None
95
+
96
+
97
+ ===== -n|--note TEXT
98
+
99
+ Note
100
+
101
+ [Default Value] None
102
+
103
+
104
+ ===== -s|--section NAME
105
+
106
+ Get last entry from a specific section
107
+
108
+ [Default Value] All
109
+
110
+
111
+ ===== --search QUERY
112
+
113
+ Repeat last entry matching search. Surround with
114
+ slashes for regex (e.g. "/query/"), start with a single quote for exact match ("'query").
115
+
116
+ [Default Value] None
117
+
118
+
119
+ ===== --tag TAG
120
+
121
+ Repeat last entry matching tags. Combine multiple tags with a comma.
122
+
123
+ [Default Value] None
124
+
125
+
126
+ ===== -e|--editor
127
+ Edit duplicated entry with vim before adding
128
+
129
+
130
+
131
+ ===== -i|--interactive
132
+ Select item to resume from a menu of matching entries
133
+
134
+
135
+
136
+ ==== Command: <tt>archive|move SECTION_OR_TAG</tt>
137
+ Move entries between sections
138
+
139
+ Argument can be a section name to move all entries from a section,
140
+ or start with an "@" to move entries matching a tag.
141
+
142
+ Default with no argument moves items from the "Currently" section to Archive.
143
+ ===== Options
144
+ ===== --before DATE_STRING
145
+
146
+ Archive entries older than date
147
+ (Flexible date format, e.g. 1/27/2021, 2020-07-19, or Monday 3pm)
148
+
149
+ [Default Value] None
150
+
151
+
152
+ ===== --bool BOOLEAN
153
+
154
+ Tag boolean (AND|OR|NOT)
155
+
156
+ [Default Value] AND
157
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
158
+
159
+
160
+ ===== -k|--keep X
161
+
162
+ How many items to keep (ignored if archiving by tag or search)
163
+
164
+ [Default Value] None
165
+ [Must Match] (?-mix:^\d+$)
166
+
167
+
168
+ ===== --search QUERY
169
+
170
+ Search filter
171
+
172
+ [Default Value] None
173
+
174
+
175
+ ===== -t|--to SECTION_NAME
176
+
177
+ Move entries to
178
+
179
+ [Default Value] Archive
180
+
181
+
182
+ ===== --tag TAG
183
+
184
+ Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
185
+
186
+ [Default Value] None
187
+
188
+
189
+ ===== --[no-]label
190
+ Label moved items with @from(SECTION_NAME)
191
+
192
+
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
+
254
+ ==== Command: <tt>cancel COUNT</tt>
255
+ End last X entries with no time tracked
256
+
257
+ Adds @done tag without datestamp so no elapsed time is recorded. Alias for `doing finish --no-date`.
258
+ ===== Options
259
+ ===== --bool BOOLEAN
260
+
261
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
262
+
263
+ [Default Value] AND
264
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
265
+
266
+
267
+ ===== -s|--section NAME
268
+
269
+ Section
270
+
271
+ [Default Value] None
272
+
273
+
274
+ ===== --tag TAG
275
+
276
+ Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2)
277
+
278
+ [Default Value] None
279
+
280
+
281
+ ===== -a|--archive
282
+ Archive entries
283
+
284
+
285
+
286
+ ===== -i|--interactive
287
+ Select item(s) to cancel from a menu of matching entries
288
+
289
+
290
+
291
+ ===== -u|--unfinished
292
+ Cancel last entry (or entries) not already marked @done
293
+
294
+
295
+
296
+ ==== Command: <tt>choose </tt>
297
+ Select a section to display from a menu
298
+
299
+
300
+ ==== Command: <tt>colors </tt>
301
+ List available color variables for configuration templates and views
302
+
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
+
324
+ ==== Command: <tt>config KEY_PATH</tt>
325
+ Edit the configuration file or output a value from it
326
+
327
+ Run without arguments, `doing config` opens your `.doingrc` in an editor.
328
+ If local configurations are found in the path between the current directory
329
+ and `~/.doingrc`, a menu will allow you to select which to open in the editor.
330
+
331
+ It will use the editor defined in `config_editor_app`, or one specified with `--editor`.
332
+
333
+ Use `doing config -d` to output the configuration to the terminal, and
334
+ provide a dot-separated key path to get a specific value. Shows the current value
335
+ including keys/overrides set by local configs.
336
+ ===== Options
337
+ ===== -a APP_NAME
338
+
339
+ Application to use
340
+
341
+ [Default Value] None
342
+
343
+
344
+ ===== -b BUNDLE_ID
345
+
346
+ Application bundle id to use
347
+
348
+ [Default Value] None
349
+
350
+
351
+ ===== -e|--editor EDITOR
352
+
353
+ Editor to use
354
+
355
+ [Default Value] None
356
+
357
+
358
+ ===== -o|--output FORMAT
359
+
360
+ Format for --dump (json|yaml|raw)
361
+
362
+ [Default Value] yaml
363
+ [Must Match] (?-mix:^(?:y(?:aml)?|j(?:son)?|r(?:aw)?)$)
364
+
365
+
366
+ ===== -d|--dump
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.
368
+
369
+
370
+
371
+ ===== -u|--update
372
+ Update config file with missing configuration options
373
+
374
+
375
+
376
+ ===== -x
377
+ Use the config_editor_app defined in ~/.doingrc (config_editor_app not set)
378
+
379
+
380
+
381
+ ==== Command: <tt>done|did ENTRY</tt>
382
+ Add a completed item with @done(date). No argument finishes last entry.
383
+
384
+
385
+ ===== Options
386
+ ===== --at DATE_STRING
387
+
388
+ Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm).
389
+ If used, ignores --back. Used with --took, backdates start date
390
+
391
+ [Default Value] None
392
+
393
+
394
+ ===== -b|--back DATE_STRING
395
+
396
+ Backdate start date by interval [4pm|20m|2h|yesterday noon]
397
+
398
+ [Default Value] None
399
+
400
+
401
+ ===== -n|--note TEXT
402
+
403
+ Include a note
404
+
405
+ [Default Value] None
406
+
407
+
408
+ ===== -s|--section NAME
409
+
410
+ Section
411
+
412
+ [Default Value] None
413
+
414
+
415
+ ===== -t|--took INTERVAL
416
+
417
+ Set completion date to start date plus interval (XX[mhd] or HH:MM).
418
+ If used without the --back option, the start date will be moved back to allow
419
+ the completion date to be the current time.
420
+
421
+ [Default Value] None
422
+
423
+
424
+ ===== -a|--archive
425
+ Immediately archive the entry
426
+
427
+
428
+
429
+ ===== --[no-]date
430
+ Include date
431
+
432
+
433
+
434
+ ===== -e|--editor
435
+ Edit entry with vim (with no arguments, edits the last entry)
436
+
437
+
438
+
439
+ ===== -r|--remove
440
+ Remove @done tag
441
+
442
+
443
+
444
+ ===== -u|--unfinished
445
+ Finish last entry not already marked @done
446
+
447
+
448
+
449
+ ==== Command: <tt>finish COUNT</tt>
450
+ Mark last X entries as @done
451
+
452
+ Marks the last X entries with a @done tag and current date. Does not alter already completed entries.
453
+ ===== Options
454
+ ===== --at DATE_STRING
455
+
456
+ Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm). If used, ignores --back.
457
+
458
+ [Default Value] None
459
+
460
+
461
+ ===== -b|--back DATE_STRING
462
+
463
+ Backdate completed date to date string [4pm|20m|2h|yesterday noon]
464
+
465
+ [Default Value] None
466
+
467
+
468
+ ===== --bool BOOLEAN
469
+
470
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
471
+
472
+ [Default Value] AND
473
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
474
+
475
+
476
+ ===== -s|--section NAME
477
+
478
+ Section
479
+
480
+ [Default Value] None
481
+
482
+
483
+ ===== --search QUERY
484
+
485
+ Finish the last X entries matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
486
+
487
+ [Default Value] None
488
+
489
+
490
+ ===== -t|--took INTERVAL
491
+
492
+ Set the completed date to the start date plus XX[hmd]
493
+
494
+ [Default Value] None
495
+
496
+
497
+ ===== --tag TAG
498
+
499
+ Finish the last X entries containing TAG.
500
+ Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
501
+
502
+ [Default Value] None
503
+
504
+
505
+ ===== -a|--archive
506
+ Archive entries
507
+
508
+
509
+
510
+ ===== --auto
511
+ Auto-generate finish dates from next entry's start time.
512
+ Automatically generate completion dates 1 minute before next item (in any section) began.
513
+ --auto overrides the --date and --back parameters.
514
+
515
+
516
+
517
+ ===== --[no-]date
518
+ Include date
519
+
520
+
521
+
522
+ ===== -i|--interactive
523
+ Select item(s) to finish from a menu of matching entries
524
+
525
+
526
+
527
+ ===== -r|--remove
528
+ Remove done tag
529
+
530
+
531
+
532
+ ===== -u|--unfinished
533
+ Finish last entry (or entries) not already marked @done
534
+
535
+
536
+
537
+ ==== Command: <tt>grep|search SEARCH_PATTERN</tt>
538
+ Search for entries
539
+
540
+ Search all sections (or limit to a single section) for entries matching text or regular expression. Normal strings are fuzzy matched.
541
+
542
+ To search with regular expressions, single quote the string and surround with slashes: `doing search '/\bm.*?x\b/'`
543
+ ===== Options
544
+ ===== --after DATE_STRING
545
+
546
+ Constrain search to entries newer than date
547
+
548
+ [Default Value] None
549
+
550
+
551
+ ===== --before DATE_STRING
552
+
553
+ Constrain search to entries older than date
554
+
555
+ [Default Value] None
556
+
557
+
558
+ ===== -o|--output FORMAT
559
+
560
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
561
+
562
+ [Default Value] None
563
+
564
+
565
+ ===== -s|--section NAME
566
+
567
+ Section
568
+
569
+ [Default Value] All
570
+
571
+
572
+ ===== --tag_sort KEY
573
+
574
+ Sort tags by (name|time)
575
+
576
+ [Default Value] name
577
+ [Must Match] (?i-mx:^(?:name|time)$)
578
+
579
+
580
+ ===== -i|--interactive
581
+ Display an interactive menu of results to perform further operations
582
+
583
+
584
+
585
+ ===== --only_timed
586
+ Only show items with recorded time intervals
587
+
588
+
589
+
590
+ ===== -t|--[no-]times
591
+ Show time intervals on @done tasks
592
+
593
+
594
+
595
+ ===== --totals
596
+ Show intervals with totals at the end of output
597
+
598
+
599
+
600
+ ==== Command: <tt>help command</tt>
601
+ Shows a list of commands or help for one command
602
+
603
+ Gets help for the application or its commands. Can also list the commands in a way helpful to creating a bash-style completion function
604
+ ===== Options
605
+ ===== -c
606
+ List commands one per line, to assist with shell completion
607
+
608
+
609
+
610
+ ==== Command: <tt>import PATH</tt>
611
+ Import entries from an external source
612
+
613
+ Imports entries from other sources. Available plugins: calendar, doing, timing
614
+ ===== Options
615
+ ===== --after DATE_STRING
616
+
617
+ Import entries newer than date
618
+
619
+ [Default Value] None
620
+
621
+
622
+ ===== --before DATE_STRING
623
+
624
+ Import entries older than date
625
+
626
+ [Default Value] None
627
+
628
+
629
+ ===== -f|--from DATE_OR_RANGE
630
+
631
+ Date range to import. Date range argument should be quoted. Date specifications can be natural language.
632
+ To specify a range, use "to" or "through": `--from "monday to friday"` or `--from 10/1 to 10/31`.
633
+ Has no effect unless the import plugin has implemented date range filtering.
634
+
635
+ [Default Value] None
636
+
637
+
638
+ ===== --prefix PREFIX
639
+
640
+ Prefix entries with
641
+
642
+ [Default Value] None
643
+
644
+
645
+ ===== -s|--section NAME
646
+
647
+ Target section
648
+
649
+ [Default Value] None
650
+
651
+
652
+ ===== --search QUERY
653
+
654
+ Only import items matching search. Surround with slashes for regex (/query/), start with single quote for exact match ("'query")
655
+
656
+ [Default Value] None
657
+
658
+
659
+ ===== --tag TAGS
660
+
661
+ Tag all imported entries
662
+
663
+ [Default Value] None
664
+
665
+
666
+ ===== --type TYPE
667
+
668
+ Import type (calendar|doing|timing)
669
+
670
+ [Default Value] doing
671
+
672
+
673
+ ===== --[no-]autotag
674
+ Autotag entries
675
+
676
+
677
+
678
+ ===== --only_timed
679
+ Only import items with recorded time intervals
680
+
681
+
682
+
683
+ ===== --[no-]overlap
684
+ Allow entries that overlap existing times
685
+
686
+
687
+
688
+ ==== Command: <tt>last </tt>
689
+ Show the last entry, optionally edit
690
+
691
+
692
+ ===== Options
693
+ ===== --bool BOOLEAN
694
+
695
+ Tag boolean
696
+
697
+ [Default Value] AND
698
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
699
+
700
+
701
+ ===== -s|--section NAME
702
+
703
+ Specify a section
704
+
705
+ [Default Value] All
706
+
707
+
708
+ ===== --search QUERY
709
+
710
+ Search filter, surround with slashes for regex (/query/), start with single quote for exact match ("'query")
711
+
712
+ [Default Value] None
713
+
714
+
715
+ ===== --tag TAG
716
+
717
+ Tag filter, combine multiple tags with a comma.
718
+
719
+ [Default Value] None
720
+
721
+
722
+ ===== -e|--editor
723
+ Edit entry with vim
724
+
725
+
726
+
727
+ ==== Command: <tt>later ENTRY</tt>
728
+ Add an item to the Later section
729
+
730
+
731
+ ===== Options
732
+ ===== -b|--back DATE_STRING
733
+
734
+ Backdate start time to date string [4pm|20m|2h|yesterday noon]
735
+
736
+ [Default Value] None
737
+
738
+
739
+ ===== -n|--note TEXT
740
+
741
+ Note
742
+
743
+ [Default Value] None
744
+
745
+
746
+ ===== -e|--editor
747
+ Edit entry with vim
748
+
749
+
750
+
751
+ ==== Command: <tt>mark|flag </tt>
752
+ Mark last entry as flagged
753
+
754
+
755
+ ===== Options
756
+ ===== --bool BOOLEAN
757
+
758
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
759
+
760
+ [Default Value] AND
761
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
762
+
763
+
764
+ ===== -c|--count COUNT
765
+
766
+ How many recent entries to tag (0 for all)
767
+
768
+ [Default Value] 1
769
+ [Must Match] (?-mix:^\d+$)
770
+
771
+
772
+ ===== -s|--section SECTION_NAME
773
+
774
+ Section
775
+
776
+ [Default Value] All
777
+
778
+
779
+ ===== --search QUERY
780
+
781
+ Flag the last entry matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
782
+
783
+ [Default Value] None
784
+
785
+
786
+ ===== --tag TAG
787
+
788
+ Flag the last entry containing TAG.
789
+ Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
790
+
791
+ [Default Value] None
792
+
793
+
794
+ ===== -d|--date
795
+ Include current date/time with tag
796
+
797
+
798
+
799
+ ===== --force
800
+ Don't ask permission to flag all entries when count is 0
801
+
802
+
803
+
804
+ ===== -i|--interactive
805
+ Select item(s) to flag from a menu of matching entries
806
+
807
+
808
+
809
+ ===== -r|--remove
810
+ Remove flag
811
+
812
+
813
+
814
+ ===== -u|--unfinished
815
+ Flag last entry (or entries) not marked @done
816
+
817
+
818
+
819
+ ==== Command: <tt>meanwhile ENTRY</tt>
820
+ Finish any running @meanwhile tasks and optionally create a new one
821
+
822
+
823
+ ===== Options
824
+ ===== -b|--back DATE_STRING
825
+
826
+ Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
827
+
828
+ [Default Value] None
829
+
830
+
831
+ ===== -n|--note TEXT
832
+
833
+ Note
834
+
835
+ [Default Value] None
836
+
837
+
838
+ ===== -s|--section NAME
839
+
840
+ Section
841
+
842
+ [Default Value] None
843
+
844
+
845
+ ===== -a|--archive
846
+ Archive previous @meanwhile entry
847
+
848
+
849
+
850
+ ===== -e|--editor
851
+ Edit entry with vim
852
+
853
+
854
+
855
+ ==== Command: <tt>note NOTE_TEXT</tt>
856
+ Add a note to the last entry
857
+
858
+ If -r is provided with no other arguments, the last note is removed.
859
+ If new content is specified through arguments or STDIN, any previous
860
+ note will be replaced with the new one.
861
+
862
+ Use -e to load the last entry in a text editor where you can append a note.
863
+ ===== Options
864
+ ===== --bool BOOLEAN
865
+
866
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
867
+
868
+ [Default Value] AND
869
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
870
+
871
+
872
+ ===== -s|--section NAME
873
+
874
+ Section
875
+
876
+ [Default Value] All
877
+
878
+
879
+ ===== --search QUERY
880
+
881
+ Add/remove note from last entry matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
882
+
883
+ [Default Value] None
884
+
885
+
886
+ ===== --tag TAG
887
+
888
+ Add/remove note from last entry matching tag
889
+
890
+ [Default Value] None
891
+
892
+
893
+ ===== -e|--editor
894
+ Edit entry with vim
895
+
896
+
897
+
898
+ ===== -i|--interactive
899
+ Select item for new note from a menu of matching entries
900
+
901
+
902
+
903
+ ===== -r|--remove
904
+ Replace/Remove last entry's note (default append)
905
+
906
+
907
+
908
+ ==== Command: <tt>now|next ENTRY</tt>
909
+ Add an entry
910
+
911
+ Record what you're starting now, or backdate the start time using natural language.
912
+
913
+ A parenthetical at the end of the entry will be converted to a note.
914
+
915
+ Run with no argument to create a new entry using vim.
916
+ ===== Options
917
+ ===== -b|--back DATE_STRING
918
+
919
+ Backdate start time [4pm|20m|2h|yesterday noon]
920
+
921
+ [Default Value] None
922
+
923
+
924
+ ===== -n|--note TEXT
925
+
926
+ Include a note
927
+
928
+ [Default Value] None
929
+
930
+
931
+ ===== -s|--section NAME
932
+
933
+ Section
934
+
935
+ [Default Value] None
936
+
937
+
938
+ ===== -e|--editor
939
+ Edit entry with vim
940
+
941
+
942
+
943
+ ===== -f|--finish_last
944
+ Timed entry, marks last entry in section as @done
945
+
946
+
947
+
948
+ ==== Command: <tt>on DATE_STRING</tt>
949
+ List entries for a date
950
+
951
+ Date argument can be natural language. "thursday" would be interpreted as "last thursday,"
952
+ and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,
953
+ it will create a range.
954
+ ===== Options
955
+ ===== -o|--output FORMAT
956
+
957
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
958
+
959
+ [Default Value] None
960
+
961
+
962
+ ===== -s|--section NAME
963
+
964
+ Section
965
+
966
+ [Default Value] All
967
+
968
+
969
+ ===== --tag_sort KEY
970
+
971
+ Sort tags by (name|time)
972
+
973
+ [Default Value] name
974
+ [Must Match] (?i-mx:^(?:name|time)$)
975
+
976
+
977
+ ===== -t|--[no-]times
978
+ Show time intervals on @done tasks
979
+
980
+
981
+
982
+ ===== --totals
983
+ Show time totals at the end of output
984
+
985
+
986
+
987
+ ==== Command: <tt>open </tt>
988
+ Open the "doing" file in an editor
989
+
990
+ `doing open` defaults to using the editor_app setting in /Users/ttscoff/.doingrc (not set).
991
+ ===== Options
992
+ ===== -a|--app APP_NAME
993
+
994
+ Open with app name
995
+
996
+ [Default Value] None
997
+
998
+
999
+ ===== -b|--bundle_id BUNDLE_ID
1000
+
1001
+ Open with app bundle id
1002
+
1003
+ [Default Value] None
1004
+
1005
+
1006
+ ==== Command: <tt>plugins </tt>
1007
+ List installed plugins
1008
+
1009
+ Lists available plugins, including user-installed plugins.
1010
+
1011
+ Export plugins are available with the `--output` flag on commands that support it.
1012
+
1013
+ Import plugins are available using `doing import --type PLUGIN`.
1014
+ ===== Options
1015
+ ===== -t|--type TYPE
1016
+
1017
+ List plugins of type (import, export)
1018
+
1019
+ [Default Value] all
1020
+ [Must Match] (?i-mx:^(?:[iea].*)$)
1021
+
1022
+
1023
+ ===== -c|--column
1024
+ List in single column for completion
1025
+
1026
+
1027
+
1028
+ ==== Command: <tt>recent COUNT</tt>
1029
+ List recent entries
1030
+
1031
+
1032
+ ===== Options
1033
+ ===== -s|--section NAME
1034
+
1035
+ Section
1036
+
1037
+ [Default Value] All
1038
+
1039
+
1040
+ ===== --tag_sort KEY
1041
+
1042
+ Sort tags by (name|time)
1043
+
1044
+ [Default Value] name
1045
+ [Must Match] (?i-mx:^(?:name|time)$)
1046
+
1047
+
1048
+ ===== -i|--interactive
1049
+ Select from a menu of matching entries to perform additional operations
1050
+
1051
+
1052
+
1053
+ ===== -t|--[no-]times
1054
+ Show time intervals on @done tasks
1055
+
1056
+
1057
+
1058
+ ===== --totals
1059
+ Show intervals with totals at the end of output
1060
+
1061
+
1062
+
1063
+ ==== Command: <tt>reset|begin </tt>
1064
+ Reset the start time of an entry
1065
+
1066
+
1067
+ ===== Options
1068
+ ===== --bool BOOLEAN
1069
+
1070
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
1071
+
1072
+ [Default Value] AND
1073
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
1074
+
1075
+
1076
+ ===== -s|--section NAME
1077
+
1078
+ Set the start date of an item to now
1079
+
1080
+ [Default Value] All
1081
+
1082
+
1083
+ ===== --search QUERY
1084
+
1085
+ Reset last entry matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
1086
+
1087
+ [Default Value] None
1088
+
1089
+
1090
+ ===== --tag TAG
1091
+
1092
+ Reset last entry matching tag
1093
+
1094
+ [Default Value] None
1095
+
1096
+
1097
+ ===== -i|--interactive
1098
+ Select from a menu of matching entries
1099
+
1100
+
1101
+
1102
+ ===== -r|--[no-]resume
1103
+ Resume entry (remove @done)
1104
+
1105
+
1106
+
1107
+ ==== Command: <tt>rotate </tt>
1108
+ Move entries to archive file
1109
+
1110
+
1111
+ ===== Options
1112
+ ===== --before DATE_STRING
1113
+
1114
+ Rotate entries older than date
1115
+ (Flexible date format, e.g. 1/27/2021, 2020-07-19, or Monday 3pm)
1116
+
1117
+ [Default Value] None
1118
+
1119
+
1120
+ ===== --bool BOOLEAN
1121
+
1122
+ Tag boolean (AND|OR|NOT)
1123
+
1124
+ [Default Value] AND
1125
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
1126
+
1127
+
1128
+ ===== -k|--keep X
1129
+
1130
+ How many items to keep in each section (most recent)
1131
+
1132
+ [Default Value] None
1133
+ [Must Match] (?-mix:^\d+$)
1134
+
1135
+
1136
+ ===== -s|--section SECTION_NAME
1137
+
1138
+ Section to rotate
1139
+
1140
+ [Default Value] All
1141
+
1142
+
1143
+ ===== --search QUERY
1144
+
1145
+ Search filter
1146
+
1147
+ [Default Value] None
1148
+
1149
+
1150
+ ===== --tag TAG
1151
+
1152
+ Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
1153
+
1154
+ [Default Value] None
1155
+
1156
+
1157
+ ==== Command: <tt>sections </tt>
1158
+ List sections
1159
+
1160
+
1161
+ ===== Options
1162
+ ===== -c|--column
1163
+ List in single column
1164
+
1165
+
1166
+
1167
+ ==== Command: <tt>select </tt>
1168
+ Display an interactive menu to perform operations
1169
+
1170
+ List all entries and select with typeahead fuzzy matching.
1171
+
1172
+ Multiple selections are allowed, hit tab to add the highlighted entry to the
1173
+ selection, and use ctrl-a to select all visible items. Return processes the
1174
+ selected entries.
1175
+ ===== Options
1176
+ ===== -m|--move SECTION
1177
+
1178
+ Move selected items to section
1179
+
1180
+ [Default Value] None
1181
+
1182
+
1183
+ ===== -o|--output FORMAT
1184
+
1185
+ Output entries to format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
1186
+
1187
+ [Default Value] None
1188
+
1189
+
1190
+ ===== -q|--query|--search QUERY
1191
+
1192
+ Initial search query for filtering. Matching is fuzzy. For exact matching, start query with a single quote, e.g. `--query "'search"
1193
+
1194
+ [Default Value] None
1195
+
1196
+
1197
+ ===== -s|--section SECTION
1198
+
1199
+ Select from a specific section
1200
+
1201
+ [Default Value] None
1202
+
1203
+
1204
+ ===== --save_to FILE
1205
+
1206
+ Save selected entries to file using --output format
1207
+
1208
+ [Default Value] None
1209
+
1210
+
1211
+ ===== -t|--tag TAG
1212
+
1213
+ Tag selected entries
1214
+
1215
+ [Default Value] None
1216
+
1217
+
1218
+ ===== -a|--archive
1219
+ Archive selected items
1220
+
1221
+
1222
+
1223
+ ===== --again|--resume
1224
+ Copy selection as a new entry with current time and no @done tag. Only works with single selections. Can be combined with --editor.
1225
+
1226
+
1227
+
1228
+ ===== -c|--cancel
1229
+ Cancel selected items (add @done without timestamp)
1230
+
1231
+
1232
+
1233
+ ===== -d|--delete
1234
+ Delete selected items
1235
+
1236
+
1237
+
1238
+ ===== -e|--editor
1239
+ Edit selected item(s)
1240
+
1241
+
1242
+
1243
+ ===== -f|--finish
1244
+ Add @done with current time to selected item(s)
1245
+
1246
+
1247
+
1248
+ ===== --flag
1249
+ Add flag to selected item(s)
1250
+
1251
+
1252
+
1253
+ ===== --force
1254
+ Perform action without confirmation.
1255
+
1256
+
1257
+
1258
+ ===== --[no-]menu
1259
+ Use --no-menu to skip the interactive menu. Use with --query to filter items and act on results automatically. Test with `--output doing` to preview matches.
1260
+
1261
+
1262
+
1263
+ ===== -r|--remove
1264
+ Reverse -c, -f, --flag, and -t (remove instead of adding)
1265
+
1266
+
1267
+
1268
+ ==== Command: <tt>show [SECTION|@TAGS]</tt>
1269
+ List all entries
1270
+
1271
+ The argument can be a section name, @tag(s) or both.
1272
+ "pick" or "choose" as an argument will offer a section menu.
1273
+ ===== Options
1274
+ ===== -a|--age AGE
1275
+
1276
+ Age (oldest|newest)
1277
+
1278
+ [Default Value] newest
1279
+
1280
+
1281
+ ===== --after DATE_STRING
1282
+
1283
+ View entries newer than date
1284
+
1285
+ [Default Value] None
1286
+
1287
+
1288
+ ===== -b|--bool BOOLEAN
1289
+
1290
+ Tag boolean (AND,OR,NOT)
1291
+
1292
+ [Default Value] OR
1293
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
1294
+
1295
+
1296
+ ===== --before DATE_STRING
1297
+
1298
+ View entries older than date
1299
+
1300
+ [Default Value] None
1301
+
1302
+
1303
+ ===== -c|--count MAX
1304
+
1305
+ Max count to show
1306
+
1307
+ [Default Value] 0
1308
+
1309
+
1310
+ ===== -f|--from DATE_OR_RANGE
1311
+
1312
+ Date range to show, or a single day to filter date on.
1313
+ Date range argument should be quoted. Date specifications can be natural language.
1314
+ To specify a range, use "to" or "through": `doing show --from "monday to friday"`
1315
+
1316
+ [Default Value] None
1317
+
1318
+
1319
+ ===== -o|--output FORMAT
1320
+
1321
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
1322
+
1323
+ [Default Value] None
1324
+
1325
+
1326
+ ===== -s|--sort ORDER
1327
+
1328
+ Sort order (asc/desc)
1329
+
1330
+ [Default Value] asc
1331
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
1332
+
1333
+
1334
+ ===== --search QUERY
1335
+
1336
+ Search filter, surround with slashes for regex (/query/), start with single quote for exact match ("'query")
1337
+
1338
+ [Default Value] None
1339
+
1340
+
1341
+ ===== --tag TAG
1342
+
1343
+ Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
1344
+
1345
+ [Default Value] None
1346
+
1347
+
1348
+ ===== --tag_order DIRECTION
1349
+
1350
+ Tag sort direction (asc|desc)
1351
+
1352
+ [Default Value] asc
1353
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
1354
+
1355
+
1356
+ ===== --tag_sort KEY
1357
+
1358
+ Sort tags by (name|time)
1359
+
1360
+ [Default Value] name
1361
+ [Must Match] (?i-mx:^(?:name|time))
1362
+
1363
+
1364
+ ===== -i|--interactive
1365
+ Select from a menu of matching entries to perform additional operations
1366
+
1367
+
1368
+
1369
+ ===== --only_timed
1370
+ Only show items with recorded time intervals
1371
+
1372
+
1373
+
1374
+ ===== -t|--[no-]times
1375
+ Show time intervals on @done tasks
1376
+
1377
+
1378
+
1379
+ ===== --totals
1380
+ Show intervals with totals at the end of output
1381
+
1382
+
1383
+
1384
+ ==== Command: <tt>since DATE_STRING</tt>
1385
+ List entries since a date
1386
+
1387
+ Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"
1388
+ and "2d" would be interpreted as "two days ago."
1389
+ ===== Options
1390
+ ===== -o|--output FORMAT
1391
+
1392
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
1393
+
1394
+ [Default Value] None
1395
+
1396
+
1397
+ ===== -s|--section NAME
1398
+
1399
+ Section
1400
+
1401
+ [Default Value] All
1402
+
1403
+
1404
+ ===== --tag_sort KEY
1405
+
1406
+ Sort tags by (name|time)
1407
+
1408
+ [Default Value] name
1409
+ [Must Match] (?i-mx:^(?:name|time)$)
1410
+
1411
+
1412
+ ===== -t|--[no-]times
1413
+ Show time intervals on @done tasks
1414
+
1415
+
1416
+
1417
+ ===== --totals
1418
+ Show time totals at the end of output
1419
+
1420
+
1421
+
1422
+ ==== Command: <tt>tag TAG...</tt>
1423
+ Add tag(s) to last entry
1424
+
1425
+ Add (or remove) tags from the last entry, or from multiple entries
1426
+ (with `--count`), entries matching a search (with `--search`), or entries
1427
+ containing another tag (with `--tag`).
1428
+
1429
+ When removing tags with `-r`, wildcards are allowed (`*` to match
1430
+ multiple characters, `?` to match a single character). With `--regex`,
1431
+ regular expressions will be interpreted instead of wildcards.
1432
+
1433
+ For all tag removals the match is case insensitive by default, but if
1434
+ the tag search string contains any uppercase letters, the match will
1435
+ become case sensitive automatically.
1436
+
1437
+ Tag name arguments do not need to be prefixed with @.
1438
+ ===== Options
1439
+ ===== --bool BOOLEAN
1440
+
1441
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
1442
+
1443
+ [Default Value] AND
1444
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
1445
+
1446
+
1447
+ ===== -c|--count COUNT
1448
+
1449
+ How many recent entries to tag (0 for all)
1450
+
1451
+ [Default Value] 1
1452
+ [Must Match] (?-mix:^\d+$)
1453
+
1454
+
1455
+ ===== --rename ORIG_TAG
1456
+
1457
+ Replace existing tag with tag argument, wildcards (*,?) allowed, or use with --regex
1458
+
1459
+ [Default Value] None
1460
+
1461
+
1462
+ ===== -s|--section SECTION_NAME
1463
+
1464
+ Section
1465
+
1466
+ [Default Value] All
1467
+
1468
+
1469
+ ===== --search QUERY
1470
+
1471
+ Tag entries matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
1472
+
1473
+ [Default Value] None
1474
+
1475
+
1476
+ ===== --tag TAG
1477
+
1478
+ Tag the last X entries containing TAG.
1479
+ Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
1480
+
1481
+ [Default Value] None
1482
+
1483
+
1484
+ ===== -a|--autotag
1485
+ Autotag entries based on autotag configuration in ~/.doingrc
1486
+
1487
+
1488
+
1489
+ ===== -d|--date
1490
+ Include current date/time with tag
1491
+
1492
+
1493
+
1494
+ ===== --force
1495
+ Don't ask permission to tag all entries when count is 0
1496
+
1497
+
1498
+
1499
+ ===== -i|--interactive
1500
+ Select item(s) to tag from a menu of matching entries
1501
+
1502
+
1503
+
1504
+ ===== -r|--remove
1505
+ Remove given tag(s)
1506
+
1507
+
1508
+
1509
+ ===== --regex
1510
+ Interpret tag string as regular expression (with --remove)
1511
+
1512
+
1513
+
1514
+ ===== -u|--unfinished
1515
+ Tag last entry (or entries) not marked @done
1516
+
1517
+
1518
+
1519
+ ==== Command: <tt>template TYPE</tt>
1520
+ Output HTML, CSS, and Markdown (ERB) templates for customization
1521
+
1522
+ Templates are printed to STDOUT for piping to a file.
1523
+ Save them and use them in the configuration file under html_template.
1524
+
1525
+ Example `doing template haml > ~/styles/my_doing.haml`
1526
+ ===== Options
1527
+ ===== -c
1528
+ List in single column for completion
1529
+
1530
+
1531
+
1532
+ ===== -l|--list
1533
+ List all available templates
1534
+
1535
+
1536
+
1537
+ ==== Command: <tt>test </tt>
1538
+ Test Stuff
1539
+
1540
+ This command is coming from /Users/ttscoff/.config/doing/commands/test.rb
1541
+ ==== Command: <tt>today </tt>
1542
+ List entries from today
1543
+
1544
+
1545
+ ===== Options
1546
+ ===== --after TIME_STRING
1547
+
1548
+ View entries after specified time (e.g. 8am, 12:30pm, 15:00)
1549
+
1550
+ [Default Value] None
1551
+
1552
+
1553
+ ===== --before TIME_STRING
1554
+
1555
+ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
1556
+
1557
+ [Default Value] None
1558
+
1559
+
1560
+ ===== -o|--output FORMAT
1561
+
1562
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
1563
+
1564
+ [Default Value] None
1565
+
1566
+
1567
+ ===== -s|--section NAME
1568
+
1569
+ Specify a section
1570
+
1571
+ [Default Value] All
1572
+
1573
+
1574
+ ===== --tag_sort KEY
1575
+
1576
+ Sort tags by (name|time)
1577
+
1578
+ [Default Value] name
1579
+ [Must Match] (?i-mx:^(?:name|time)$)
1580
+
1581
+
1582
+ ===== -t|--[no-]times
1583
+ Show time intervals on @done tasks
1584
+
1585
+
1586
+
1587
+ ===== --totals
1588
+ Show time totals at the end of output
1589
+
1590
+
1591
+
1592
+ ==== Command: <tt>undo </tt>
1593
+ Undo the last change to the doing_file
1594
+
1595
+
1596
+ ===== Options
1597
+ ===== -f|--file PATH
1598
+
1599
+ Specify alternate doing file
1600
+
1601
+ [Default Value] None
1602
+
1603
+
1604
+ ==== Command: <tt>view VIEW_NAME</tt>
1605
+ Display a user-created view
1606
+
1607
+ Command line options override view configuration
1608
+ ===== Options
1609
+ ===== --after DATE_STRING
1610
+
1611
+ View entries newer than date
1612
+
1613
+ [Default Value] None
1614
+
1615
+
1616
+ ===== -b|--bool BOOLEAN
1617
+
1618
+ Tag boolean (AND,OR,NOT)
1619
+
1620
+ [Default Value] OR
1621
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
1622
+
1623
+
1624
+ ===== --before DATE_STRING
1625
+
1626
+ View entries older than date
1627
+
1628
+ [Default Value] None
1629
+
1630
+
1631
+ ===== -c|--count COUNT
1632
+
1633
+ Count to display
1634
+
1635
+ [Default Value] None
1636
+ [Must Match] (?-mix:^\d+$)
1637
+
1638
+
1639
+ ===== -o|--output FORMAT
1640
+
1641
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
1642
+
1643
+ [Default Value] None
1644
+
1645
+
1646
+ ===== -s|--section NAME
1647
+
1648
+ Section
1649
+
1650
+ [Default Value] None
1651
+
1652
+
1653
+ ===== --search QUERY
1654
+
1655
+ Search filter, surround with slashes for regex (/query/), start with single quote for exact match ("'query")
1656
+
1657
+ [Default Value] None
1658
+
1659
+
1660
+ ===== --tag TAG
1661
+
1662
+ Tag filter, combine multiple tags with a comma.
1663
+
1664
+ [Default Value] None
1665
+
1666
+
1667
+ ===== --tag_order DIRECTION
1668
+
1669
+ Tag sort direction (asc|desc)
1670
+
1671
+ [Default Value] None
1672
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
1673
+
1674
+
1675
+ ===== --tag_sort KEY
1676
+
1677
+ Sort tags by (name|time)
1678
+
1679
+ [Default Value] None
1680
+ [Must Match] (?i-mx:^(?:name|time)$)
1681
+
1682
+
1683
+ ===== --[no-]color
1684
+ Include colors in output
1685
+
1686
+
1687
+
1688
+ ===== -i|--interactive
1689
+ Select from a menu of matching entries to perform additional operations
1690
+
1691
+
1692
+
1693
+ ===== --only_timed
1694
+ Only show items with recorded time intervals (override view settings)
1695
+
1696
+
1697
+
1698
+ ===== -t|--[no-]times
1699
+ Show time intervals on @done tasks
1700
+
1701
+
1702
+
1703
+ ===== --totals
1704
+ Show intervals with totals at the end of output
1705
+
1706
+
1707
+
1708
+ ==== Command: <tt>views </tt>
1709
+ List available custom views
1710
+
1711
+
1712
+ ===== Options
1713
+ ===== -c|--[no-]column
1714
+ List in single column
1715
+
1716
+
1717
+
1718
+ ==== Command: <tt>wiki </tt>
1719
+ Output a tag wiki
1720
+
1721
+
1722
+ ===== Options
1723
+ ===== --after DATE_STRING
1724
+
1725
+ Include entries newer than date
1726
+
1727
+ [Default Value] None
1728
+
1729
+
1730
+ ===== -b|--bool BOOLEAN
1731
+
1732
+ Tag boolean (AND,OR,NOT)
1733
+
1734
+ [Default Value] OR
1735
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
1736
+
1737
+
1738
+ ===== --before DATE_STRING
1739
+
1740
+ Include entries older than date
1741
+
1742
+ [Default Value] None
1743
+
1744
+
1745
+ ===== -f|--from DATE_OR_RANGE
1746
+
1747
+ Date range to include, or a single day to filter date on.
1748
+ Date range argument should be quoted. Date specifications can be natural language.
1749
+ To specify a range, use "to" or "through": `doing show --from "monday to friday"`
1750
+
1751
+ [Default Value] None
1752
+
1753
+
1754
+ ===== -s|--section SECTION_NAME
1755
+
1756
+ Section to rotate
1757
+
1758
+ [Default Value] All
1759
+
1760
+
1761
+ ===== --search QUERY
1762
+
1763
+ Search filter, surround with slashes for regex (/query/), start with single quote for exact match ("'query")
1764
+
1765
+ [Default Value] None
1766
+
1767
+
1768
+ ===== --tag TAG
1769
+
1770
+ Tag filter, combine multiple tags with a comma, use with --bool
1771
+
1772
+ [Default Value] None
1773
+
1774
+
1775
+ ===== --only_timed
1776
+ Only show items with recorded time intervals
1777
+
1778
+
1779
+
1780
+ ==== Command: <tt>yesterday </tt>
1781
+ List entries from yesterday
1782
+
1783
+
1784
+ ===== Options
1785
+ ===== --after TIME_STRING
1786
+
1787
+ View entries after specified time (e.g. 8am, 12:30pm, 15:00)
1788
+
1789
+ [Default Value] None
1790
+
1791
+
1792
+ ===== --before TIME_STRING
1793
+
1794
+ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
1795
+
1796
+ [Default Value] None
1797
+
1798
+
1799
+ ===== -o|--output FORMAT
1800
+
1801
+ Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
1802
+
1803
+ [Default Value] None
1804
+
1805
+
1806
+ ===== -s|--section NAME
1807
+
1808
+ Specify a section
1809
+
1810
+ [Default Value] All
1811
+
1812
+
1813
+ ===== --tag_order DIRECTION
1814
+
1815
+ Tag sort direction (asc|desc)
1816
+
1817
+ [Default Value] asc
1818
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
1819
+
1820
+
1821
+ ===== --tag_sort KEY
1822
+
1823
+ Sort tags by (name|time)
1824
+
1825
+ [Default Value] name
1826
+ [Must Match] (?i-mx:^(?:name|time)$)
1827
+
1828
+
1829
+ ===== -t|--[no-]times
1830
+ Show time intervals on @done tasks
1831
+
1832
+
1833
+
1834
+ ===== --totals
1835
+ Show time totals at the end of output
1836
+
1837
+
1838
+
1839
+ [Default Command] recent