doing 1.0.93 → 2.0.6.pre

Sign up to get free protection for your applications and to get access to all the features.
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