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/COMMANDS.md ADDED
@@ -0,0 +1,1181 @@
1
+ # doing CLI
2
+
3
+ A CLI for a What Was I Doing system
4
+
5
+ *v1.0.90*
6
+
7
+ ## Global Options
8
+
9
+ ### `--config_file` arg
10
+
11
+ Use a specific configuration file
12
+
13
+ *Default Value:* `~/.doingrc`
14
+
15
+ ### `-f` | `--doing_file` arg
16
+
17
+ Specify a different doing_file
18
+
19
+ ### `--help`
20
+
21
+ Show this message
22
+
23
+ ### `--[no-]notes`
24
+
25
+ Output notes if included in the template
26
+
27
+ ### `--stdout`
28
+
29
+ Send results report to STDOUT instead of STDERR
30
+
31
+ ### `--version`
32
+
33
+ Display the program version
34
+
35
+ ### `-x`|`--[no-]noauto`
36
+
37
+ Exclude auto tags and default tags
38
+
39
+ ## Commands
40
+
41
+ ### `$ doing` <mark>`add_section`</mark> `SECTION_NAME`
42
+
43
+ *Add a new section to the "doing" file*
44
+
45
+ * * * * * *
46
+
47
+ ### `$ doing` <mark>`again|resume`</mark> ``
48
+
49
+ *Repeat last entry as new entry*
50
+
51
+ #### Options
52
+
53
+ ##### `--bool` BOOLEAN
54
+
55
+ Boolean used to combine multiple tags
56
+
57
+ *Default Value:* `AND`
58
+
59
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
60
+
61
+ ##### `--in` SECTION_NAME
62
+
63
+ Add new entry to section (default: same section as repeated entry)
64
+
65
+ ##### `-n` | `--note` TEXT
66
+
67
+ Note
68
+
69
+ ##### `-s` | `--section` NAME
70
+
71
+ Section
72
+
73
+ *Default Value:* `All`
74
+
75
+ ##### `--search` QUERY
76
+
77
+ Repeat last entry matching search. Surround with
78
+ slashes for regex (e.g. "/query/").
79
+
80
+ ##### `--tag` TAG
81
+
82
+ Repeat last entry matching tags. Combine multiple tags with a comma.
83
+
84
+ * * * * * *
85
+
86
+ ### `$ doing` <mark>`archive`</mark> `SECTION_NAME`
87
+
88
+ *Move entries between sections*
89
+
90
+ #### Options
91
+
92
+ ##### `--before` DATE_STRING
93
+
94
+ Archive entries older than date
95
+ (Flexible date format, e.g. 1/27/2021, 2020-07-19, or Monday 3pm)
96
+
97
+ ##### `--bool` BOOLEAN
98
+
99
+ Tag boolean (AND|OR|NOT)
100
+
101
+ *Default Value:* `AND`
102
+
103
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
104
+
105
+ ##### `-k` | `--keep` X
106
+
107
+ How many items to keep (ignored if archiving by tag or search)
108
+
109
+ *Must Match:* `(?-mix:^\d+$)`
110
+
111
+ ##### `--search` QUERY
112
+
113
+ Search filter
114
+
115
+ ##### `-t` | `--to` SECTION_NAME
116
+
117
+ Move entries to
118
+
119
+ *Default Value:* `Archive`
120
+
121
+ ##### `--tag` TAG
122
+
123
+ Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
124
+
125
+ ##### `--[no-]label`
126
+
127
+ Label moved items with @from(SECTION_NAME)
128
+
129
+ * * * * * *
130
+
131
+ ### `$ doing` <mark>`cancel`</mark> `COUNT`
132
+
133
+ *End last X entries with no time tracked*
134
+
135
+ > Adds @done tag without datestamp so no elapsed time is recorded. Alias for `doing finish --no-date`.
136
+
137
+ #### Options
138
+
139
+ ##### `--bool` BOOLEAN
140
+
141
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
142
+
143
+ *Default Value:* `AND`
144
+
145
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
146
+
147
+ ##### `-s` | `--section` NAME
148
+
149
+ Section
150
+
151
+ ##### `--tag` TAG
152
+
153
+ Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2)
154
+
155
+ ##### `-a`|`--archive`
156
+
157
+ Archive entries
158
+
159
+ ##### `-u`|`--unfinished`
160
+
161
+ Cancel last entry (or entries) not already marked @done
162
+
163
+ * * * * * *
164
+
165
+ ### `$ doing` <mark>`choose`</mark> ``
166
+
167
+ *Select a section to display from a menu*
168
+
169
+ * * * * * *
170
+
171
+ ### `$ doing` <mark>`colors`</mark> ``
172
+
173
+ *List available color variables for configuration templates and views*
174
+
175
+ * * * * * *
176
+
177
+ ### `$ doing` <mark>`config`</mark> ``
178
+
179
+ *Edit the configuration file*
180
+
181
+ #### Options
182
+
183
+ ##### `-a` APP_NAME
184
+
185
+ Application to use
186
+
187
+ ##### `-b` BUNDLE_ID
188
+
189
+ Application bundle id to use
190
+
191
+ ##### `-e` | `--editor` EDITOR
192
+
193
+ Editor to use
194
+
195
+ ##### `-x`
196
+
197
+ Use the config_editor_app defined in ~/.doingrc (Sublime Text)
198
+
199
+ * * * * * *
200
+
201
+ ### `$ doing` <mark>`done|did`</mark> `ENTRY`
202
+
203
+ *Add a completed item with @done(date). No argument finishes last entry.*
204
+
205
+ #### Options
206
+
207
+ ##### `--at` DATE_STRING
208
+
209
+ Set finish date to specific date/time (natural language parsed, e.g. --at=1:30pm).
210
+ If used, ignores --back. Used with --took, backdates start date
211
+
212
+ ##### `-b` | `--back` DATE_STRING
213
+
214
+ Backdate start date by interval [4pm|20m|2h|yesterday noon]
215
+
216
+ ##### `-s` | `--section` NAME
217
+
218
+ Section
219
+
220
+ ##### `-t` | `--took` INTERVAL
221
+
222
+ Set completion date to start date plus interval (XX[mhd] or HH:MM).
223
+ If used without the --back option, the start date will be moved back to allow
224
+ the completion date to be the current time.
225
+
226
+ ##### `-a`|`--archive`
227
+
228
+ Immediately archive the entry
229
+
230
+ ##### `--[no-]date`
231
+
232
+ Include date
233
+
234
+ ##### `-e`|`--editor`
235
+
236
+ Edit entry with $EDITOR
237
+
238
+ ##### `-r`|`--remove`
239
+
240
+ Remove @done tag
241
+
242
+ * * * * * *
243
+
244
+ ### `$ doing` <mark>`finish`</mark> `COUNT`
245
+
246
+ *Mark last X entries as @done*
247
+
248
+ > Marks the last X entries with a @done tag and current date. Does not alter already completed entries.
249
+
250
+ #### Options
251
+
252
+ ##### `--at` DATE_STRING
253
+
254
+ Set finish date to specific date/time (natural language parsed, e.g. --at=1:30pm). If used, ignores --back.
255
+
256
+ ##### `-b` | `--back` DATE_STRING
257
+
258
+ Backdate completed date to date string [4pm|20m|2h|yesterday noon]
259
+
260
+ ##### `--bool` BOOLEAN
261
+
262
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
263
+
264
+ *Default Value:* `AND`
265
+
266
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
267
+
268
+ ##### `-s` | `--section` NAME
269
+
270
+ Section
271
+
272
+ ##### `--search` QUERY
273
+
274
+ Finish the last X entries matching search filter, surround with slashes for regex (e.g. "/query.*/")
275
+
276
+ ##### `-t` | `--took` INTERVAL
277
+
278
+ Set the completed date to the start date plus XX[hmd]
279
+
280
+ ##### `--tag` TAG
281
+
282
+ Finish the last X entries containing TAG.
283
+ Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
284
+
285
+ ##### `-a`|`--archive`
286
+
287
+ Archive entries
288
+
289
+ ##### `--auto`
290
+
291
+ Auto-generate finish dates from next entry's start time.
292
+ Automatically generate completion dates 1 minute before next item (in any section) began.
293
+ --auto overrides the --date and --back parameters.
294
+
295
+ ##### `--[no-]date`
296
+
297
+ Include date
298
+
299
+ ##### `-u`|`--unfinished`
300
+
301
+ Finish last entry (or entries) not already marked @done
302
+
303
+ * * * * * *
304
+
305
+ ### `$ doing` <mark>`grep|search`</mark> `SEARCH_PATTERN`
306
+
307
+ *Search for entries*
308
+
309
+ > Search all sections (or limit to a single section) for entries matching text or regular expression. Normal strings are fuzzy matched.
310
+ >
311
+ > To search with regular expressions, single quote the string and surround with slashes: `doing search '/\bm.*?x\b/'`
312
+
313
+ #### Options
314
+
315
+ ##### `--after` DATE_STRING
316
+
317
+ Constrain search to entries newer than date
318
+
319
+ ##### `--before` DATE_STRING
320
+
321
+ Constrain search to entries older than date
322
+
323
+ ##### `-o` | `--output` FORMAT
324
+
325
+ Output to export format (csv|html|json|template|timeline)
326
+
327
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
328
+
329
+ ##### `-s` | `--section` NAME
330
+
331
+ Section
332
+
333
+ *Default Value:* `All`
334
+
335
+ ##### `--tag_sort` KEY
336
+
337
+ Sort tags by (name|time)
338
+
339
+ *Default Value:* `name`
340
+
341
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
342
+
343
+ ##### `--only_timed`
344
+
345
+ Only show items with recorded time intervals
346
+
347
+ ##### `-t`|`--[no-]times`
348
+
349
+ Show time intervals on @done tasks
350
+
351
+ ##### `--totals`
352
+
353
+ Show intervals with totals at the end of output
354
+
355
+ * * * * * *
356
+
357
+ ### `$ doing` <mark>`help`</mark> `command`
358
+
359
+ *Shows a list of commands or help for one command*
360
+
361
+ > Gets help for the application or its commands. Can also list the commands in a way helpful to creating a bash-style completion function
362
+
363
+ #### Options
364
+
365
+ ##### `-c`
366
+
367
+ List commands one per line, to assist with shell completion
368
+
369
+ * * * * * *
370
+
371
+ ### `$ doing` <mark>`import`</mark> `PATH`
372
+
373
+ *Import entries from an external source*
374
+
375
+ > Imports entries from other sources. Currently only handles JSON reports exported from Timing.app.
376
+
377
+ #### Options
378
+
379
+ ##### `--prefix` PREFIX
380
+
381
+ Prefix entries with
382
+
383
+ ##### `-s` | `--section` NAME
384
+
385
+ Target section
386
+
387
+ ##### `--tag` TAGS
388
+
389
+ Tag all imported entries
390
+
391
+ ##### `--type` TYPE
392
+
393
+ Import type
394
+
395
+ *Default Value:* `timing`
396
+
397
+ ##### `--[no-]autotag`
398
+
399
+ Autotag entries
400
+
401
+ ##### `--[no-]overlap`
402
+
403
+ Allow entries that overlap existing times
404
+
405
+ * * * * * *
406
+
407
+ ### `$ doing` <mark>`last`</mark> ``
408
+
409
+ *Show the last entry, optionally edit*
410
+
411
+ #### Options
412
+
413
+ ##### `--bool` BOOLEAN
414
+
415
+ Tag boolean
416
+
417
+ *Default Value:* `AND`
418
+
419
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
420
+
421
+ ##### `-s` | `--section` NAME
422
+
423
+ Specify a section
424
+
425
+ *Default Value:* `All`
426
+
427
+ ##### `--search` QUERY
428
+
429
+ Search filter, surround with slashes for regex (/query/)
430
+
431
+ ##### `--tag` TAG
432
+
433
+ Tag filter, combine multiple tags with a comma.
434
+
435
+ ##### `-e`|`--editor`
436
+
437
+ Edit entry with $EDITOR
438
+
439
+ * * * * * *
440
+
441
+ ### `$ doing` <mark>`later`</mark> `ENTRY`
442
+
443
+ *Add an item to the Later section*
444
+
445
+ #### Options
446
+
447
+ ##### `-b` | `--back` DATE_STRING
448
+
449
+ Backdate start time to date string [4pm|20m|2h|yesterday noon]
450
+
451
+ ##### `-n` | `--note` TEXT
452
+
453
+ Note
454
+
455
+ ##### `-e`|`--editor`
456
+
457
+ Edit entry with $EDITOR
458
+
459
+ * * * * * *
460
+
461
+ ### `$ doing` <mark>`mark|flag`</mark> ``
462
+
463
+ *Mark last entry as highlighted*
464
+
465
+ #### Options
466
+
467
+ ##### `-s` | `--section` NAME
468
+
469
+ Section
470
+
471
+ ##### `-r`|`--remove`
472
+
473
+ Remove mark
474
+
475
+ ##### `-u`|`--unfinished`
476
+
477
+ Mark last entry not marked @done
478
+
479
+ * * * * * *
480
+
481
+ ### `$ doing` <mark>`meanwhile`</mark> `ENTRY`
482
+
483
+ *Finish any running @meanwhile tasks and optionally create a new one*
484
+
485
+ #### Options
486
+
487
+ ##### `-b` | `--back` DATE_STRING
488
+
489
+ Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
490
+
491
+ ##### `-n` | `--note` TEXT
492
+
493
+ Note
494
+
495
+ ##### `-s` | `--section` NAME
496
+
497
+ Section
498
+
499
+ ##### `-a`|`--[no-]archive`
500
+
501
+ Archive previous @meanwhile entry
502
+
503
+ ##### `-e`|`--editor`
504
+
505
+ Edit entry with $EDITOR
506
+
507
+ * * * * * *
508
+
509
+ ### `$ doing` <mark>`note`</mark> `NOTE_TEXT`
510
+
511
+ *Add a note to the last entry*
512
+
513
+ > If -r is provided with no other arguments, the last note is removed. If new content is specified through arguments or STDIN, any previous note will be replaced with the new one.
514
+ >
515
+ > Use -e to load the last entry in a text editor where you can append a note.
516
+
517
+ #### Options
518
+
519
+ ##### `-s` | `--section` NAME
520
+
521
+ Section
522
+
523
+ *Default Value:* `All`
524
+
525
+ ##### `-e`|`--editor`
526
+
527
+ Edit entry with $EDITOR
528
+
529
+ ##### `-r`|`--remove`
530
+
531
+ Replace/Remove last entry's note (default append)
532
+
533
+ * * * * * *
534
+
535
+ ### `$ doing` <mark>`now|next`</mark> `ENTRY`
536
+
537
+ *Add an entry*
538
+
539
+ #### Options
540
+
541
+ ##### `-b` | `--back` DATE_STRING
542
+
543
+ Backdate start time [4pm|20m|2h|yesterday noon]
544
+
545
+ ##### `-n` | `--note` TEXT
546
+
547
+ Note
548
+
549
+ ##### `-s` | `--section` NAME
550
+
551
+ Section
552
+
553
+ ##### `-e`|`--editor`
554
+
555
+ Edit entry with $EDITOR
556
+
557
+ ##### `-f`|`--finish_last`
558
+
559
+ Timed entry, marks last entry in section as @done
560
+
561
+ * * * * * *
562
+
563
+ ### `$ doing` <mark>`on`</mark> `DATE_STRING`
564
+
565
+ *List entries for a date*
566
+
567
+ > Date argument can be natural language. "thursday" would be interpreted as "last thursday,"
568
+ > and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,
569
+ > it will create a range.
570
+
571
+ #### Options
572
+
573
+ ##### `-o` | `--output` FORMAT
574
+
575
+ Output to export format (csv|html|json|template|timeline)
576
+
577
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
578
+
579
+ ##### `-s` | `--section` NAME
580
+
581
+ Section
582
+
583
+ *Default Value:* `All`
584
+
585
+ ##### `--tag_sort` KEY
586
+
587
+ Sort tags by (name|time)
588
+
589
+ *Default Value:* `name`
590
+
591
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
592
+
593
+ ##### `-t`|`--[no-]times`
594
+
595
+ Show time intervals on @done tasks
596
+
597
+ ##### `--totals`
598
+
599
+ Show time totals at the end of output
600
+
601
+ * * * * * *
602
+
603
+ ### `$ doing` <mark>`open`</mark> ``
604
+
605
+ *Open the "doing" file in an editor*
606
+
607
+ > `doing open` defaults to using the editor_app setting in ~/.doingrc (TaskPaper)
608
+
609
+ #### Options
610
+
611
+ ##### `-a` | `--app` APP_NAME
612
+
613
+ Open with app name
614
+
615
+ ##### `-b` | `--bundle_id` BUNDLE_ID
616
+
617
+ Open with app bundle id
618
+
619
+ ##### `-e`|`--editor`
620
+
621
+ Open with $EDITOR ($EDITOR)
622
+
623
+ * * * * * *
624
+
625
+ ### `$ doing` <mark>`recent`</mark> `COUNT`
626
+
627
+ *List recent entries*
628
+
629
+ #### Options
630
+
631
+ ##### `-s` | `--section` NAME
632
+
633
+ Section
634
+
635
+ *Default Value:* `All`
636
+
637
+ ##### `--tag_sort` KEY
638
+
639
+ Sort tags by (name|time)
640
+
641
+ *Default Value:* `name`
642
+
643
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
644
+
645
+ ##### `-t`|`--[no-]times`
646
+
647
+ Show time intervals on @done tasks
648
+
649
+ ##### `--totals`
650
+
651
+ Show intervals with totals at the end of output
652
+
653
+ * * * * * *
654
+
655
+ ### `$ doing` <mark>`rotate`</mark> ``
656
+
657
+ *Move entries to archive file*
658
+
659
+ #### Options
660
+
661
+ ##### `--before` DATE_STRING
662
+
663
+ Rotate entries older than date
664
+ (Flexible date format, e.g. 1/27/2021, 2020-07-19, or Monday 3pm)
665
+
666
+ ##### `--bool` BOOLEAN
667
+
668
+ Tag boolean (AND|OR|NOT)
669
+
670
+ *Default Value:* `AND`
671
+
672
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
673
+
674
+ ##### `-k` | `--keep` X
675
+
676
+ How many items to keep in each section (most recent)
677
+
678
+ *Must Match:* `(?-mix:^\d+$)`
679
+
680
+ ##### `-s` | `--section` SECTION_NAME
681
+
682
+ Section to rotate
683
+
684
+ *Default Value:* `All`
685
+
686
+ ##### `--search` QUERY
687
+
688
+ Search filter
689
+
690
+ ##### `--tag` TAG
691
+
692
+ Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
693
+
694
+ * * * * * *
695
+
696
+ ### `$ doing` <mark>`sections`</mark> ``
697
+
698
+ *List sections*
699
+
700
+ #### Options
701
+
702
+ ##### `-c`|`--[no-]column`
703
+
704
+ List in single column
705
+
706
+ * * * * * *
707
+
708
+ ### `$ doing` <mark>`select`</mark> ``
709
+
710
+ *Display an interactive menu to perform operations (requires fzf)*
711
+
712
+ > List all entries and select with type-ahead fuzzy matching.
713
+ >
714
+ > Multiple selections are allowed, hit tab to add the highlighted entry to the selection. Return processes the selected entries.
715
+
716
+ #### Options
717
+
718
+ ##### `-m` | `--move` SECTION
719
+
720
+ Move selected items to section
721
+
722
+ ##### `-o` | `--output` FORMAT
723
+
724
+ Output entries to format (doing|taskpaper|csv|html|json|template|timeline)
725
+
726
+ *Must Match:* `(?i-mx:^(?:doing|taskpaper|html|csv|json|template|timeline)$)`
727
+
728
+ ##### `-q` | `--query` QUERY
729
+
730
+ Initial search query for filtering. Matching is fuzzy. For exact matching, start query with a single quote, e.g. `--query "'search"
731
+
732
+ ##### `-s` | `--section` SECTION
733
+
734
+ Select from a specific section
735
+
736
+ ##### `--save_to` FILE
737
+
738
+ Save selected entries to file using --output format
739
+
740
+ ##### `-t` | `--tag` TAG
741
+
742
+ Tag selected entries
743
+
744
+ ##### `-a`|`--archive`
745
+
746
+ Archive selected items
747
+
748
+ ##### `-c`|`--cancel`
749
+
750
+ Cancel selected items (add @done without timestamp)
751
+
752
+ ##### `-d`|`--delete`
753
+
754
+ Delete selected items
755
+
756
+ ##### `-e`|`--editor`
757
+
758
+ Edit selected item(s)
759
+
760
+ ##### `-f`|`--finish`
761
+
762
+ Add @done with current time to selected item(s)
763
+
764
+ ##### `--flag`
765
+
766
+ Add flag to selected item(s)
767
+
768
+ ##### `--force`
769
+
770
+ Perform action without confirmation.
771
+
772
+ ##### `--[no-]menu`
773
+
774
+ 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.
775
+
776
+ ##### `-r`|`--remove`
777
+
778
+ Reverse -c, -f, --flag, and -t (remove instead of adding)
779
+
780
+ * * * * * *
781
+
782
+ ### `$ doing` <mark>`show`</mark> `[SECTION|@TAGS]`
783
+
784
+ *List all entries*
785
+
786
+ > The argument can be a section name, @tag(s) or both.
787
+ > "pick" or "choose" as an argument will offer a section menu.
788
+
789
+ #### Options
790
+
791
+ ##### `-a` | `--age` AGE
792
+
793
+ Age (oldest|newest)
794
+
795
+ *Default Value:* `newest`
796
+
797
+ ##### `--after` DATE_STRING
798
+
799
+ View entries newer than date
800
+
801
+ ##### `-b` | `--bool` BOOLEAN
802
+
803
+ Tag boolean (AND,OR,NOT)
804
+
805
+ *Default Value:* `OR`
806
+
807
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
808
+
809
+ ##### `--before` DATE_STRING
810
+
811
+ View entries older than date
812
+
813
+ ##### `-c` | `--count` MAX
814
+
815
+ Max count to show
816
+
817
+ *Default Value:* `0`
818
+
819
+ ##### `-f` | `--from` DATE_OR_RANGE
820
+
821
+ Date range to show, or a single day to filter date on.
822
+ Date range argument should be quoted. Date specifications can be natural language.
823
+ To specify a range, use "to" or "through": `doing show --from "monday to friday"`
824
+
825
+ ##### `-o` | `--output` FORMAT
826
+
827
+ Output to export format (csv|html|json|template|timeline)
828
+
829
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
830
+
831
+ ##### `-s` | `--sort` ORDER
832
+
833
+ Sort order (asc/desc)
834
+
835
+ *Default Value:* `ASC`
836
+
837
+ *Must Match:* `(?i-mx:^[ad].*)`
838
+
839
+ ##### `--search` QUERY
840
+
841
+ Search filter, surround with slashes for regex (/query/)
842
+
843
+ ##### `--tag` TAG
844
+
845
+ Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
846
+
847
+ ##### `--tag_order` DIRECTION
848
+
849
+ Tag sort direction (asc|desc)
850
+
851
+ *Must Match:* `(?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)`
852
+
853
+ ##### `--tag_sort` KEY
854
+
855
+ Sort tags by (name|time)
856
+
857
+ *Default Value:* `name`
858
+
859
+ *Must Match:* `(?i-mx:^(?:name|time))`
860
+
861
+ ##### `--only_timed`
862
+
863
+ Only show items with recorded time intervals
864
+
865
+ ##### `-t`|`--[no-]times`
866
+
867
+ Show time intervals on @done tasks
868
+
869
+ ##### `--totals`
870
+
871
+ Show intervals with totals at the end of output
872
+
873
+ * * * * * *
874
+
875
+ ### `$ doing` <mark>`since`</mark> `DATE_STRING`
876
+
877
+ *List entries since a date*
878
+
879
+ > Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"
880
+ > and "2d" would be interpreted as "two days ago."
881
+
882
+ #### Options
883
+
884
+ ##### `-o` | `--output` FORMAT
885
+
886
+ Output to export format (csv|html|json|template|timeline)
887
+
888
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
889
+
890
+ ##### `-s` | `--section` NAME
891
+
892
+ Section
893
+
894
+ *Default Value:* `All`
895
+
896
+ ##### `--tag_sort` KEY
897
+
898
+ Sort tags by (name|time)
899
+
900
+ *Default Value:* `name`
901
+
902
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
903
+
904
+ ##### `-t`|`--[no-]times`
905
+
906
+ Show time intervals on @done tasks
907
+
908
+ ##### `--totals`
909
+
910
+ Show time totals at the end of output
911
+
912
+ * * * * * *
913
+
914
+ ### `$ doing` <mark>`tag`</mark> `TAG...`
915
+
916
+ *Add tag(s) to last entry*
917
+
918
+ #### Options
919
+
920
+ ##### `--bool` BOOLEAN
921
+
922
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters
923
+
924
+ *Default Value:* `AND`
925
+
926
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
927
+
928
+ ##### `-c` | `--count` COUNT
929
+
930
+ How many recent entries to tag (0 for all)
931
+
932
+ *Default Value:* `1`
933
+
934
+ ##### `-s` | `--section` SECTION_NAME
935
+
936
+ Section
937
+
938
+ *Default Value:* `All`
939
+
940
+ ##### `--search` QUERY
941
+
942
+ Tag entries matching search filter, surround with slashes for regex (e.g. "/query.*/")
943
+
944
+ ##### `--tag` TAG
945
+
946
+ Tag the last X entries containing TAG.
947
+ Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
948
+
949
+ ##### `-a`|`--autotag`
950
+
951
+ Autotag entries based on autotag configuration in ~/.doingrc
952
+
953
+ ##### `-d`|`--date`
954
+
955
+ Include current date/time with tag
956
+
957
+ ##### `--force`
958
+
959
+ Don't ask permission to tag all entries when count is 0
960
+
961
+ ##### `-r`|`--remove`
962
+
963
+ Remove given tag(s)
964
+
965
+ ##### `-u`|`--unfinished`
966
+
967
+ Tag last entry (or entries) not marked @done
968
+
969
+ * * * * * *
970
+
971
+ ### `$ doing` <mark>`template`</mark> `TYPE`
972
+
973
+ *Output HTML and CSS templates for customization*
974
+
975
+ > Templates are printed to STDOUT for piping to a file.
976
+ > Save them and use them in the configuration file under html_template.
977
+ >
978
+ > Example `doing template HAML > ~/styles/my_doing.haml`
979
+
980
+ * * * * * *
981
+
982
+ ### `$ doing` <mark>`today`</mark> ``
983
+
984
+ *List entries from today*
985
+
986
+ #### Options
987
+
988
+ ##### `--after` TIME_STRING
989
+
990
+ View entries after specified time (e.g. 8am, 12:30pm, 15:00)
991
+
992
+ ##### `--before` TIME_STRING
993
+
994
+ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
995
+
996
+ ##### `-o` | `--output` FORMAT
997
+
998
+ Output to export format (csv|html|json|template|timeline)
999
+
1000
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
1001
+
1002
+ ##### `-s` | `--section` NAME
1003
+
1004
+ Specify a section
1005
+
1006
+ *Default Value:* `All`
1007
+
1008
+ ##### `--tag_sort` KEY
1009
+
1010
+ Sort tags by (name|time)
1011
+
1012
+ *Default Value:* `name`
1013
+
1014
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
1015
+
1016
+ ##### `-t`|`--[no-]times`
1017
+
1018
+ Show time intervals on @done tasks
1019
+
1020
+ ##### `--totals`
1021
+
1022
+ Show time totals at the end of output
1023
+
1024
+ * * * * * *
1025
+
1026
+ ### `$ doing` <mark>`undo`</mark> ``
1027
+
1028
+ *Undo the last change to the doing_file*
1029
+
1030
+ #### Options
1031
+
1032
+ ##### `-f` | `--file` PATH
1033
+
1034
+ Specify alternate doing file
1035
+
1036
+ * * * * * *
1037
+
1038
+ ### `$ doing` <mark>`view`</mark> `VIEW_NAME`
1039
+
1040
+ *Display a user-created view*
1041
+
1042
+ > Command line options override view configuration
1043
+
1044
+ #### Options
1045
+
1046
+ ##### `--after` DATE_STRING
1047
+
1048
+ View entries newer than date
1049
+
1050
+ ##### `-b` | `--bool` BOOLEAN
1051
+
1052
+ Tag boolean (AND,OR,NOT)
1053
+
1054
+ *Default Value:* `OR`
1055
+
1056
+ *Must Match:* `(?i-mx:and|all|any|or|not|none)`
1057
+
1058
+ ##### `--before` DATE_STRING
1059
+
1060
+ View entries older than date
1061
+
1062
+ ##### `-c` | `--count` COUNT
1063
+
1064
+ Count to display
1065
+
1066
+ *Must Match:* `(?-mix:^\d+$)`
1067
+
1068
+ ##### `-o` | `--output` FORMAT
1069
+
1070
+ Output to export format (csv|html|json|template|timeline)
1071
+
1072
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
1073
+
1074
+ ##### `-s` | `--section` NAME
1075
+
1076
+ Section
1077
+
1078
+ ##### `--search` QUERY
1079
+
1080
+ Search filter, surround with slashes for regex (/query/)
1081
+
1082
+ ##### `--tag` TAG
1083
+
1084
+ Tag filter, combine multiple tags with a comma.
1085
+
1086
+ ##### `--tag_order` DIRECTION
1087
+
1088
+ Tag sort direction (asc|desc)
1089
+
1090
+ *Must Match:* `(?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)`
1091
+
1092
+ ##### `--tag_sort` KEY
1093
+
1094
+ Sort tags by (name|time)
1095
+
1096
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
1097
+
1098
+ ##### `--[no-]color`
1099
+
1100
+ Include colors in output
1101
+
1102
+ ##### `--only_timed`
1103
+
1104
+ Only show items with recorded time intervals (override view settings)
1105
+
1106
+ ##### `-t`|`--[no-]times`
1107
+
1108
+ Show time intervals on @done tasks
1109
+
1110
+ ##### `--totals`
1111
+
1112
+ Show intervals with totals at the end of output
1113
+
1114
+ * * * * * *
1115
+
1116
+ ### `$ doing` <mark>`views`</mark> ``
1117
+
1118
+ *List available custom views*
1119
+
1120
+ #### Options
1121
+
1122
+ ##### `-c`|`--[no-]column`
1123
+
1124
+ List in single column
1125
+
1126
+ * * * * * *
1127
+
1128
+ ### `$ doing` <mark>`yesterday`</mark> ``
1129
+
1130
+ *List entries from yesterday*
1131
+
1132
+ #### Options
1133
+
1134
+ ##### `--after` TIME_STRING
1135
+
1136
+ View entries after specified time (e.g. 8am, 12:30pm, 15:00)
1137
+
1138
+ ##### `--before` TIME_STRING
1139
+
1140
+ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
1141
+
1142
+ ##### `-o` | `--output` FORMAT
1143
+
1144
+ Output to export format (csv|html|json|template|timeline)
1145
+
1146
+ *Must Match:* `(?i-mx:^(?:template|html|csv|json|timeline)$)`
1147
+
1148
+ ##### `-s` | `--section` NAME
1149
+
1150
+ Specify a section
1151
+
1152
+ *Default Value:* `All`
1153
+
1154
+ ##### `--tag_order` DIRECTION
1155
+
1156
+ Tag sort direction (asc|desc)
1157
+
1158
+ *Must Match:* `(?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)`
1159
+
1160
+ ##### `--tag_sort` KEY
1161
+
1162
+ Sort tags by (name|time)
1163
+
1164
+ *Default Value:* `name`
1165
+
1166
+ *Must Match:* `(?i-mx:^(?:name|time)$)`
1167
+
1168
+ ##### `-t`|`--[no-]times`
1169
+
1170
+ Show time intervals on @done tasks
1171
+
1172
+ ##### `--totals`
1173
+
1174
+ Show time totals at the end of output
1175
+
1176
+ * * * * * *
1177
+
1178
+ #### [Default Command] recent
1179
+
1180
+ Documentation generated 2021-10-15 05:03
1181
+