doing 2.1.19 → 2.1.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +19 -16
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +70 -0
  6. data/Gemfile.lock +11 -11
  7. data/README.md +1 -1
  8. data/Rakefile +12 -4
  9. data/bin/doing +297 -234
  10. data/docs/doc/Array.html +7 -30
  11. data/docs/doc/BooleanTermParser/Clause.html +3 -3
  12. data/docs/doc/BooleanTermParser/Operator.html +3 -3
  13. data/docs/doc/BooleanTermParser/Query.html +3 -3
  14. data/docs/doc/BooleanTermParser/QueryParser.html +3 -3
  15. data/docs/doc/BooleanTermParser/QueryTransformer.html +3 -3
  16. data/docs/doc/BooleanTermParser.html +3 -3
  17. data/docs/doc/Doing/Color.html +3 -3
  18. data/docs/doc/Doing/Completion.html +3 -3
  19. data/docs/doc/Doing/Configuration.html +6 -5
  20. data/docs/doc/Doing/Errors/DoingNoTraceError.html +3 -3
  21. data/docs/doc/Doing/Errors/DoingRuntimeError.html +3 -3
  22. data/docs/doc/Doing/Errors/DoingStandardError.html +3 -3
  23. data/docs/doc/Doing/Errors/EmptyInput.html +3 -3
  24. data/docs/doc/Doing/Errors/NoResults.html +3 -3
  25. data/docs/doc/Doing/Errors/PluginException.html +3 -3
  26. data/docs/doc/Doing/Errors/UserCancelled.html +3 -3
  27. data/docs/doc/Doing/Errors/WrongCommand.html +3 -3
  28. data/docs/doc/Doing/Errors.html +3 -3
  29. data/docs/doc/Doing/Hooks.html +3 -3
  30. data/docs/doc/Doing/Item.html +3 -3
  31. data/docs/doc/Doing/Items.html +3 -3
  32. data/docs/doc/Doing/LogAdapter.html +3 -3
  33. data/docs/doc/Doing/Note.html +3 -3
  34. data/docs/doc/Doing/Pager.html +3 -3
  35. data/docs/doc/Doing/Plugins.html +3 -3
  36. data/docs/doc/Doing/Prompt.html +7 -7
  37. data/docs/doc/Doing/Section.html +3 -3
  38. data/docs/doc/Doing/TemplateString.html +4 -4
  39. data/docs/doc/Doing/Types.html +201 -0
  40. data/docs/doc/Doing/Util/Backup.html +3 -3
  41. data/docs/doc/Doing/Util.html +4 -7
  42. data/docs/doc/Doing/WWID.html +66 -8
  43. data/docs/doc/Doing.html +6 -6
  44. data/docs/doc/GLI/Commands/Help.html +185 -0
  45. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +3 -3
  46. data/docs/doc/GLI/Commands.html +7 -5
  47. data/docs/doc/GLI.html +6 -4
  48. data/docs/doc/Hash.html +80 -16
  49. data/docs/doc/Numeric.html +3 -3
  50. data/docs/doc/PhraseParser/Operator.html +3 -3
  51. data/docs/doc/PhraseParser/PhraseClause.html +3 -3
  52. data/docs/doc/PhraseParser/Query.html +3 -3
  53. data/docs/doc/PhraseParser/QueryParser.html +3 -3
  54. data/docs/doc/PhraseParser/QueryTransformer.html +3 -3
  55. data/docs/doc/PhraseParser/TermClause.html +3 -3
  56. data/docs/doc/PhraseParser.html +3 -3
  57. data/docs/doc/Status.html +3 -3
  58. data/docs/doc/String.html +195 -26
  59. data/docs/doc/Symbol.html +3 -3
  60. data/docs/doc/Time.html +3 -3
  61. data/docs/doc/_index.html +22 -8
  62. data/docs/doc/class_list.html +1 -1
  63. data/docs/doc/file.README.html +4 -4
  64. data/docs/doc/frames.html +1 -1
  65. data/docs/doc/index.html +4 -4
  66. data/docs/doc/method_list.html +334 -270
  67. data/docs/doc/top-level-namespace.html +3 -3
  68. data/docs/index.md +1 -1
  69. data/doing.gemspec +1 -1
  70. data/doing.rdoc +173 -15
  71. data/lib/completion/_doing.zsh +20 -20
  72. data/lib/completion/doing.bash +37 -26
  73. data/lib/completion/doing.fish +116 -17
  74. data/lib/doing/array.rb +5 -4
  75. data/lib/doing/array_chronify.rb +4 -3
  76. data/lib/doing/changelog/change.rb +115 -0
  77. data/lib/doing/changelog/changes.rb +73 -0
  78. data/lib/doing/changelog/entry.rb +21 -0
  79. data/lib/doing/changelog/version.rb +97 -0
  80. data/lib/doing/changelog.rb +6 -0
  81. data/lib/doing/completion/fish_completion.rb +82 -12
  82. data/lib/doing/configuration.rb +17 -8
  83. data/lib/doing/hash.rb +25 -6
  84. data/lib/doing/help_monkey_patch.rb +31 -0
  85. data/lib/doing/hooks.rb +5 -1
  86. data/lib/doing/item.rb +10 -25
  87. data/lib/doing/items.rb +3 -1
  88. data/lib/doing/log_adapter.rb +1 -1
  89. data/lib/doing/pager.rb +2 -2
  90. data/lib/doing/plugins/export/dayone_export.rb +1 -1
  91. data/lib/doing/plugins/export/markdown_export.rb +1 -1
  92. data/lib/doing/plugins/export/template_export.rb +9 -3
  93. data/lib/doing/prompt.rb +4 -2
  94. data/lib/doing/string.rb +40 -11
  95. data/lib/doing/string_chronify.rb +56 -18
  96. data/lib/doing/template_string.rb +7 -0
  97. data/lib/doing/types.rb +25 -0
  98. data/lib/doing/util.rb +2 -1
  99. data/lib/doing/version.rb +1 -1
  100. data/lib/doing/wwid.rb +91 -67
  101. data/lib/doing.rb +2 -0
  102. data/lib/examples/commands/later.rb +32 -0
  103. data/lib/helpers/threaded_tests.rb +286 -0
  104. metadata +17 -6
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Top Level Namespace
8
8
 
9
- &mdash; Documentation by YARD 0.9.26
9
+ &mdash; Documentation by YARD 0.9.27
10
10
 
11
11
  </title>
12
12
 
@@ -102,9 +102,9 @@
102
102
  </div>
103
103
 
104
104
  <div id="footer">
105
- Generated on Tue Jan 18 08:53:02 2022 by
105
+ Generated on Sat Jan 22 17:30:14 2022 by
106
106
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
- 0.9.26 (ruby-3.0.1).
107
+ 0.9.27 (ruby-3.0.1).
108
108
  </div>
109
109
 
110
110
  </div>
data/docs/index.md CHANGED
@@ -8,7 +8,7 @@ _If you're one of the rare people like me who find this useful, feel free to
8
8
 
9
9
 
10
10
 
11
- The current version of `doing` is 2.1.13.
11
+ The current version of `doing` is 2.1.21.
12
12
 
13
13
  Find all of the documentation in the [doing wiki][wiki].
14
14
 
data/doing.gemspec CHANGED
@@ -33,7 +33,7 @@ spec = Gem::Specification.new do |s|
33
33
  s.add_development_dependency 'parallel_tests', '~> 3.7', '>= 3.7.3'
34
34
  s.add_development_dependency 'tty-spinner', '~> 0.9', '>= 0.9.3'
35
35
  s.add_runtime_dependency('tty-progressbar', '~> 0.18', '>= 0.18.2')
36
- s.add_runtime_dependency('gli', '~> 2.19', '>= 2.19.2')
36
+ s.add_runtime_dependency('gli', '~> 2.20', '>= 2.20.1')
37
37
  s.add_runtime_dependency('haml','~>5.0.0', '>= 5.0.0')
38
38
  s.add_runtime_dependency('chronic','~> 0.10', '>= 0.10.2')
39
39
  s.add_runtime_dependency('deep_merge', '~> 1.2', '>= 1.2.1')
data/doing.rdoc CHANGED
@@ -5,7 +5,7 @@ record of what you've been doing, complete with tag-based time tracking. The
5
5
  command line tool allows you to add entries, annotate with tags and notes, and
6
6
  view your entries with myriad options, with a focus on a "natural" language syntax.
7
7
 
8
- v2.1.19
8
+ v2.1.24
9
9
 
10
10
  === Global Options
11
11
  === --config_file arg
@@ -32,7 +32,7 @@ Verbose output
32
32
 
33
33
 
34
34
 
35
- === --[no-]default
35
+ === --default
36
36
  Answer yes/no menus with default option
37
37
 
38
38
 
@@ -92,6 +92,13 @@ Repeat last entry as new entry
92
92
 
93
93
  This command is designed to allow multiple time intervals to be created for an entry by duplicating it with a new start (and end, eventually) time
94
94
  ===== Options
95
+ ===== -b|--back|--started DATE_STRING
96
+
97
+ Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]
98
+
99
+ [Default Value] None
100
+
101
+
95
102
  ===== --bool BOOLEAN
96
103
 
97
104
  Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
@@ -396,10 +403,37 @@ Force exact search string matching (case sensitive)
396
403
 
397
404
 
398
405
 
399
- ==== Command: <tt>changelog|changes </tt>
406
+ ==== Command: <tt>changes|changelog </tt>
400
407
  List recent changes in Doing
401
408
 
402
- Display a formatted list of changes in recent versions, latest at the top
409
+ Display a formatted list of changes in recent versions.
410
+
411
+ Without flags, displays only the most recent version.
412
+ Use --lookup or --all for history.
413
+ ===== Options
414
+ ===== -l|--lookup VERSION
415
+
416
+ Look up a specific version. Specify versions as "MAJ.MIN.PATCH", MIN
417
+ and PATCH are optional. Use > or < to see all changes since or prior
418
+ to a version.
419
+
420
+ [Default Value] None
421
+ [Must Match] (?-mix:^(?:(?:(?:[<>=]|p(?:rior)|b(?:efore)|o(?:lder)|s(?:ince)|a(?:fter)|n(?:ewer))? *[\d.*?]+ *)+|(?:[\d.]+ *-+ *[\d.]+))$)
422
+
423
+
424
+ ===== -s|--search arg
425
+
426
+ Show changelogs matching search terms (uses pattern-based searching).
427
+ Add slashes to search with regular expressions, e.g. `--search "/output.*flag/"`
428
+
429
+ [Default Value] None
430
+
431
+
432
+ ===== -a|--all
433
+ Display all versions
434
+
435
+
436
+
403
437
  ==== Command: <tt>choose </tt>
404
438
  Select a section to display from a menu
405
439
 
@@ -521,7 +555,7 @@ Update default config file, adding any missing keys
521
555
 
522
556
 
523
557
  [Default Command] edit
524
- ==== Command: <tt>done|did ENTRY</tt>
558
+ ==== Command: <tt>done|did [ENTRY]</tt>
525
559
  Add a completed item with @done(date). No argument finishes last entry
526
560
 
527
561
  Use this command to add an entry after you've already finished it. It will be immediately marked as @done.
@@ -549,6 +583,7 @@ Start and end times as a date/time range `doing done --from "1am to 8am"`.
549
583
  Overrides other date flags.
550
584
 
551
585
  [Default Value] None
586
+ [Must Match] (?i-mx:^\S+ +(?:to|through|thru|(?:un)?til|-+) ++\S+)
552
587
 
553
588
 
554
589
  ===== -n|--note TEXT
@@ -604,19 +639,19 @@ Finish last entry not already marked @done
604
639
 
605
640
 
606
641
 
607
- ==== Command: <tt>finish COUNT</tt>
642
+ ==== Command: <tt>finish [COUNT]</tt>
608
643
  Mark last X entries as @done
609
644
 
610
645
  Marks the last X entries with a @done tag and current date. Does not alter already completed entries.
611
646
  ===== Options
612
- ===== --at DATE_STRING
647
+ ===== --at|--finished DATE_STRING
613
648
 
614
649
  Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm). If used, ignores --back.
615
650
 
616
651
  [Default Value] None
617
652
 
618
653
 
619
- ===== -b|--back DATE_STRING
654
+ ===== -b|--back|--started DATE_STRING
620
655
 
621
656
  Backdate completed date to date string [4pm|20m|2h|yesterday noon]
622
657
 
@@ -755,6 +790,13 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
755
790
  [Must Match] (?-mix:^[csi])
756
791
 
757
792
 
793
+ ===== --config_template TEMPLATE_KEY
794
+
795
+ Output using a template from configuration
796
+
797
+ [Default Value] default
798
+
799
+
758
800
  ===== --from DATE_OR_RANGE
759
801
 
760
802
  Date range to show, or a single day to filter date on.
@@ -789,6 +831,13 @@ Sort tags by (name|time)
789
831
  [Must Match] (?i-mx:^(?:name|time)$)
790
832
 
791
833
 
834
+ ===== --template TEMPLATE_STRING
835
+
836
+ Override output format with a template string containing %placeholders
837
+
838
+ [Default Value] None
839
+
840
+
792
841
  ===== --val QUERY
793
842
 
794
843
  Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
@@ -975,6 +1024,13 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
975
1024
  [Must Match] (?-mix:^[csi])
976
1025
 
977
1026
 
1027
+ ===== --config_template TEMPLATE_KEY
1028
+
1029
+ Output using a template from configuration
1030
+
1031
+ [Default Value] last
1032
+
1033
+
978
1034
  ===== -s|--section NAME
979
1035
 
980
1036
  Specify a section
@@ -996,6 +1052,13 @@ Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
996
1052
  [Default Value] None
997
1053
 
998
1054
 
1055
+ ===== --template TEMPLATE_STRING
1056
+
1057
+ Override output format with a template string containing %placeholders
1058
+
1059
+ [Default Value] None
1060
+
1061
+
999
1062
  ===== --val QUERY
1000
1063
 
1001
1064
  Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
@@ -1039,7 +1102,7 @@ Add an item to the Later section
1039
1102
 
1040
1103
 
1041
1104
  ===== Options
1042
- ===== -b|--back DATE_STRING
1105
+ ===== -b|--back|--started DATE_STRING
1043
1106
 
1044
1107
  Backdate start time to date string [4pm|20m|2h|yesterday noon]
1045
1108
 
@@ -1157,7 +1220,7 @@ Force exact search string matching (case sensitive)
1157
1220
 
1158
1221
 
1159
1222
 
1160
- ==== Command: <tt>meanwhile ENTRY</tt>
1223
+ ==== Command: <tt>meanwhile [ENTRY]</tt>
1161
1224
  Finish any running @meanwhile tasks and optionally create a new one
1162
1225
 
1163
1226
  The @meanwhile tag allows you to have long-running entries that encompass smaller entries.
@@ -1165,7 +1228,7 @@ This command makes it easy to start and stop these overarching entries. Just run
1165
1228
  big project` to start a @meanwhile entry, add other entries as you work on the project, then use `doing meanwhile` by
1166
1229
  itself to mark the entry as @done.
1167
1230
  ===== Options
1168
- ===== -b|--back DATE_STRING
1231
+ ===== -b|--back|--started DATE_STRING
1169
1232
 
1170
1233
  Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
1171
1234
 
@@ -1201,7 +1264,7 @@ Edit entry with vim
1201
1264
 
1202
1265
 
1203
1266
 
1204
- ==== Command: <tt>note NOTE_TEXT</tt>
1267
+ ==== Command: <tt>note [NOTE_TEXT]</tt>
1205
1268
  Add a note to the last entry
1206
1269
 
1207
1270
  If -r is provided with no other arguments, the last note is removed.
@@ -1339,6 +1402,13 @@ Date argument can be natural language. "thursday" would be interpreted as "last
1339
1402
  and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,
1340
1403
  it will create a range.
1341
1404
  ===== Options
1405
+ ===== --config_template TEMPLATE_KEY
1406
+
1407
+ Output using a template from configuration
1408
+
1409
+ [Default Value] default
1410
+
1411
+
1342
1412
  ===== -o|--output FORMAT
1343
1413
 
1344
1414
  Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
@@ -1361,6 +1431,13 @@ Sort tags by (name|time)
1361
1431
  [Must Match] (?i-mx:^(?:name|time)$)
1362
1432
 
1363
1433
 
1434
+ ===== --template TEMPLATE_STRING
1435
+
1436
+ Override output format with a template string containing %placeholders
1437
+
1438
+ [Default Value] None
1439
+
1440
+
1364
1441
  ===== --[no-]duration
1365
1442
  Show elapsed time on entries without @done tag
1366
1443
 
@@ -1430,6 +1507,13 @@ List recent entries
1430
1507
 
1431
1508
 
1432
1509
  ===== Options
1510
+ ===== --config_template TEMPLATE_KEY
1511
+
1512
+ Output using a template from configuration
1513
+
1514
+ [Default Value] recent
1515
+
1516
+
1433
1517
  ===== -s|--section NAME
1434
1518
 
1435
1519
  Section
@@ -1445,6 +1529,13 @@ Sort tags by (name|time)
1445
1529
  [Must Match] (?i-mx:^(?:name|time)$)
1446
1530
 
1447
1531
 
1532
+ ===== --template TEMPLATE_STRING
1533
+
1534
+ Override output format with a template string containing %placeholders
1535
+
1536
+ [Default Value] None
1537
+
1538
+
1448
1539
  ===== --[no-]duration
1449
1540
  Show elapsed time on entries without @done tag
1450
1541
 
@@ -1465,7 +1556,7 @@ Show intervals with totals at the end of output
1465
1556
 
1466
1557
 
1467
1558
 
1468
- ==== Command: <tt>reset|begin DATE_STRING</tt>
1559
+ ==== Command: <tt>reset|begin [DATE_STRING]</tt>
1469
1560
  Reset the start time of an entry
1470
1561
 
1471
1562
  Update the start time of the last entry or the last entry matching a tag/search filter.
@@ -1522,6 +1613,11 @@ Select from a menu of matching entries
1522
1613
 
1523
1614
 
1524
1615
 
1616
+ ===== -n
1617
+ Change start date but do not remove @done (shortcut for --no-resume)
1618
+
1619
+
1620
+
1525
1621
  ===== --not
1526
1622
  Reset items that *don't* match search/tag filters
1527
1623
 
@@ -1848,6 +1944,13 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
1848
1944
  [Must Match] (?-mix:^[csi])
1849
1945
 
1850
1946
 
1947
+ ===== --config_template TEMPLATE_KEY
1948
+
1949
+ Output using a template from configuration
1950
+
1951
+ [Default Value] default
1952
+
1953
+
1851
1954
  ===== --from DATE_OR_RANGE
1852
1955
 
1853
1956
  Date range to show, or a single day to filter date on.
@@ -1905,6 +2008,13 @@ Sort tags by (name|time)
1905
2008
  [Must Match] (?i-mx:^(?:name|time))
1906
2009
 
1907
2010
 
2011
+ ===== --template TEMPLATE_STRING
2012
+
2013
+ Override output format with a template string containing %placeholders
2014
+
2015
+ [Default Value] None
2016
+
2017
+
1908
2018
  ===== --val QUERY
1909
2019
 
1910
2020
  Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
@@ -1964,6 +2074,13 @@ List entries since a date
1964
2074
  Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"
1965
2075
  and "2d" would be interpreted as "two days ago."
1966
2076
  ===== Options
2077
+ ===== --config_template TEMPLATE_KEY
2078
+
2079
+ Output using a template from configuration
2080
+
2081
+ [Default Value] default
2082
+
2083
+
1967
2084
  ===== -o|--output FORMAT
1968
2085
 
1969
2086
  Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
@@ -1986,6 +2103,13 @@ Sort tags by (name|time)
1986
2103
  [Must Match] (?i-mx:^(?:name|time)$)
1987
2104
 
1988
2105
 
2106
+ ===== --template TEMPLATE_STRING
2107
+
2108
+ Override output format with a template string containing %placeholders
2109
+
2110
+ [Default Value] None
2111
+
2112
+
1989
2113
  ===== --[no-]duration
1990
2114
  Show elapsed time on entries without @done tag
1991
2115
 
@@ -2143,7 +2267,7 @@ Remove all default_tags from the local .doingrc
2143
2267
 
2144
2268
 
2145
2269
 
2146
- ==== Command: <tt>tags </tt>
2270
+ ==== Command: <tt>tags [MAX_COUNT]</tt>
2147
2271
  List all tags in the current Doing file
2148
2272
 
2149
2273
 
@@ -2220,6 +2344,11 @@ Select items to scan from a menu of matching entries
2220
2344
 
2221
2345
 
2222
2346
 
2347
+ ===== -l|--[no-]line
2348
+ Output in a single line with @ symbols. Ignored if --counts is specified.
2349
+
2350
+
2351
+
2223
2352
  ===== --not
2224
2353
  Get tags from items that *don't* match search/tag filters
2225
2354
 
@@ -2282,7 +2411,14 @@ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
2282
2411
  [Default Value] None
2283
2412
 
2284
2413
 
2285
- ===== --from DATE_OR_RANGE
2414
+ ===== --config_template TEMPLATE_KEY
2415
+
2416
+ Output using a template from configuration
2417
+
2418
+ [Default Value] today
2419
+
2420
+
2421
+ ===== --from TIME_RANGE
2286
2422
 
2287
2423
  Time range to show `doing today --from "12pm to 4pm"`
2288
2424
 
@@ -2311,6 +2447,13 @@ Sort tags by (name|time)
2311
2447
  [Must Match] (?i-mx:^(?:name|time)$)
2312
2448
 
2313
2449
 
2450
+ ===== --template TEMPLATE_STRING
2451
+
2452
+ Override output format with a template string containing %placeholders
2453
+
2454
+ [Default Value] None
2455
+
2456
+
2314
2457
  ===== --[no-]duration
2315
2458
  Show elapsed time on entries without @done tag
2316
2459
 
@@ -2610,11 +2753,19 @@ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
2610
2753
  [Default Value] None
2611
2754
 
2612
2755
 
2756
+ ===== --config_template TEMPLATE_KEY
2757
+
2758
+ Output using a template from configuration
2759
+
2760
+ [Default Value] today
2761
+
2762
+
2613
2763
  ===== --from TIME_RANGE
2614
2764
 
2615
2765
  Time range to show, e.g. `doing yesterday --from "1am to 8am"`
2616
2766
 
2617
2767
  [Default Value] None
2768
+ [Must Match] (?i-mx:^(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon) +(?:to|through|thru|(?:un)?til|-+) +(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon)$)
2618
2769
 
2619
2770
 
2620
2771
  ===== -o|--output FORMAT
@@ -2647,6 +2798,13 @@ Sort tags by (name|time)
2647
2798
  [Must Match] (?i-mx:^(?:name|time)$)
2648
2799
 
2649
2800
 
2801
+ ===== --template TEMPLATE_STRING
2802
+
2803
+ Override output format with a template string containing %placeholders
2804
+
2805
+ [Default Value] None
2806
+
2807
+
2650
2808
  ===== --[no-]duration
2651
2809
  Show elapsed time on entries without @done tag
2652
2810
 
@@ -14,8 +14,8 @@ function _doing() {
14
14
  'move:Move entries between sections'
15
15
  'autotag:Autotag last entry or filtered entries'
16
16
  'cancel:End last X entries with no time tracked'
17
- 'changelog:List recent changes in Doing'
18
17
  'changes:List recent changes in Doing'
18
+ 'changelog:List recent changes in Doing'
19
19
  'choose:Select a section to display from a menu'
20
20
  'colors:List available color variables for configuration templates and views'
21
21
  'completion:Generate shell completion scripts'
@@ -70,10 +70,10 @@ function _doing() {
70
70
  args=( )
71
71
  ;;
72
72
  again)
73
- args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Add a note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
73
+ args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--started=)--started=}[Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]]" "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Add a note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
74
74
  ;;
75
75
  resume)
76
- args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Add a note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
76
+ args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--started=)--started=}[Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]]" "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Add a note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
77
77
  ;;
78
78
  archive)
79
79
  args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
@@ -87,11 +87,11 @@ function _doing() {
87
87
  cancel)
88
88
  args=( {-a,--archive}"[Archive entries]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select item(s) to cancel from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Section]" "(--search=)--search=}[Cancel the last X entries matching search filter]" "(--tag=)--tag=}[Cancel the last X entries containing TAG]" {-u,--unfinished}"[Cancel last entry]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
89
89
  ;;
90
- changelog)
91
- args=( )
92
- ;;
93
90
  changes)
94
- args=( )
91
+ args=( {-a,--all}"[Display all versions]" {-l,--lookup=}"[Look up a specific version]" {-s,--search=}"[Show changelogs matching search terms]" )
92
+ ;;
93
+ changelog)
94
+ args=( {-a,--all}"[Display all versions]" {-l,--lookup=}"[Look up a specific version]" {-s,--search=}"[Show changelogs matching search terms]" )
95
95
  ;;
96
96
  choose)
97
97
  args=( )
@@ -112,13 +112,13 @@ function _doing() {
112
112
  args=( {-a,--archive}"[Immediately archive the entry]" "(--ask)--ask}[Prompt for note via multi-line input]" "(--finished=)--finished=}[Set finish date to specific date/time]" "(--started=)--started=}[Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]]" "(--date)--date}[Include date]" {-e,--editor}"[Edit entry with vim]" "(--from=)--from=}[Start and end times as a date/time range `doing done --from "1am to 8am"`]" {-n,--note=}"[Include a note]" {-r,--remove}"[Remove @done tag]" {-s,--section=}"[Section]" "(--for=)--for=}[Set completion date to start date plus interval]" {-u,--unfinished}"[Finish last entry not already marked @done]" )
113
113
  ;;
114
114
  finish)
115
- args=( {-a,--archive}"[Archive entries]" "(--at=)--at=}[Set finish date to specific date/time]" "(--auto)--auto}[Auto-generate finish dates from next entrys start times start time]" {-b,--back=}"[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--date)--date}[Include date]" {-i,--interactive}"[Select item(s) to finish from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove done tag]" {-s,--section=}"[Section]" "(--search=)--search=}[Finish the last X entries matching search filter]" "(--for=)--for=}[Set the completed date to the start date plus XX[hmd]]" "(--tag=)--tag=}[Finish the last X entries containing TAG]" {-u,--unfinished}"[Finish last entry]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
115
+ args=( {-a,--archive}"[Archive entries]" "(--finished=)--finished=}[Set finish date to specific date/time]" "(--auto)--auto}[Auto-generate finish dates from next entrys start times start time]" "(--started=)--started=}[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--date)--date}[Include date]" {-i,--interactive}"[Select item(s) to finish from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove done tag]" {-s,--section=}"[Section]" "(--search=)--search=}[Finish the last X entries matching search filter]" "(--for=)--for=}[Set the completed date to the start date plus XX[hmd]]" "(--tag=)--tag=}[Finish the last X entries containing TAG]" {-u,--unfinished}"[Finish last entry]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
116
116
  ;;
117
117
  grep)
118
- args=( "(--after=)--after=}[Search entries newer than date]" "(--before=)--before=}[Search entries older than date]" "(--bool=)--bool=}[Combine multiple tags or value queries using AND]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--delete}"[Delete matching entries]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-e,--editor}"[Edit matching entries with vim]" "(--from=)--from=}[Date range to show]" {-h,--hilite}"[Highlight search matches in output]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact string matching]" )
118
+ args=( "(--after=)--after=}[Search entries newer than date]" "(--before=)--before=}[Search entries older than date]" "(--bool=)--bool=}[Combine multiple tags or value queries using AND]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--config_template=)--config_template=}[Output using a template from configuration]" {-d,--delete}"[Delete matching entries]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-e,--editor}"[Edit matching entries with vim]" "(--from=)--from=}[Date range to show]" {-h,--hilite}"[Highlight search matches in output]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show intervals with totals at the end of output]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact string matching]" )
119
119
  ;;
120
120
  search)
121
- args=( "(--after=)--after=}[Search entries newer than date]" "(--before=)--before=}[Search entries older than date]" "(--bool=)--bool=}[Combine multiple tags or value queries using AND]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--delete}"[Delete matching entries]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-e,--editor}"[Edit matching entries with vim]" "(--from=)--from=}[Date range to show]" {-h,--hilite}"[Highlight search matches in output]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact string matching]" )
121
+ args=( "(--after=)--after=}[Search entries newer than date]" "(--before=)--before=}[Search entries older than date]" "(--bool=)--bool=}[Combine multiple tags or value queries using AND]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--config_template=)--config_template=}[Output using a template from configuration]" {-d,--delete}"[Delete matching entries]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-e,--editor}"[Edit matching entries with vim]" "(--from=)--from=}[Date range to show]" {-h,--hilite}"[Highlight search matches in output]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show intervals with totals at the end of output]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact string matching]" )
122
122
  ;;
123
123
  help)
124
124
  args=( )
@@ -127,10 +127,10 @@ function _doing() {
127
127
  args=( "(--after=)--after=}[Import entries newer than date]" "(--autotag)--autotag}[Autotag entries]" "(--before=)--before=}[Import entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-f,--from=}"[Date range to import]" "(--not)--not}[Import items that *dont* match search/tag/date filterst* match search/tag/date filters]" "(--only_timed)--only_timed}[Only import items with recorded time intervals]" "(--overlap)--overlap}[Allow entries that overlap existing times]" "(--prefix=)--prefix=}[Prefix entries with]" {-s,--section=}"[Target section]" "(--search=)--search=}[Only import items matching search]" {-t,--tag=}"[Tag all imported entries]" "(--type=)--type=}[Import type]" {-x,--exact}"[Force exact search string matching]" )
128
128
  ;;
129
129
  last)
130
- args=( "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--delete}"[Delete the last entry]" "(--duration)--duration}[Show elapsed time if entry is not tagged @done]" {-e,--editor}"[Edit entry with vim]" {-h,--hilite}"[Highlight search matches in output]" "(--not)--not}[Show items that *dont* match search string or tag filtert* match search string or tag filter]" {-s,--section=}"[Specify a section]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
130
+ args=( "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--config_template=)--config_template=}[Output using a template from configuration]" {-d,--delete}"[Delete the last entry]" "(--duration)--duration}[Show elapsed time if entry is not tagged @done]" {-e,--editor}"[Edit entry with vim]" {-h,--hilite}"[Highlight search matches in output]" "(--not)--not}[Show items that *dont* match search string or tag filtert* match search string or tag filter]" {-s,--section=}"[Specify a section]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
131
131
  ;;
132
132
  later)
133
- args=( "(--ask)--ask}[Prompt for note via multi-line input]" {-b,--back=}"[Backdate start time to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" )
133
+ args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--started=)--started=}[Backdate start time to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" )
134
134
  ;;
135
135
  mark)
136
136
  args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" "(--not)--not}[Flag items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
@@ -139,7 +139,7 @@ function _doing() {
139
139
  args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" "(--not)--not}[Flag items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
140
140
  ;;
141
141
  meanwhile)
142
- args=( {-a,--archive}"[Archive previous @meanwhile entry]" "(--ask)--ask}[Prompt for note via multi-line input]" {-b,--back=}"[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" {-s,--section=}"[Section]" )
142
+ args=( {-a,--archive}"[Archive previous @meanwhile entry]" "(--ask)--ask}[Prompt for note via multi-line input]" "(--started=)--started=}[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" {-s,--section=}"[Section]" )
143
143
  ;;
144
144
  note)
145
145
  args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit entry with vim]" {-i,--interactive}"[Select item for new note from a menu of matching entries]" "(--not)--not}[Add note to item that *doesnt* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Replace/Remove last entrys notes note]" {-s,--section=}"[Section]" "(--search=)--search=}[Add/remove note from last entry matching search filter]" "(--tag=)--tag=}[Add/remove note from last entry matching tag]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
@@ -151,7 +151,7 @@ function _doing() {
151
151
  args=( "(--ask)--ask}[Prompt for note via multi-line input]" "(--started=)--started=}[Backdate start time [4pm|20m|2h|"yesterday noon"]]" {-e,--editor}"[Edit entry with vim]" {-f,--finish_last}"[Timed entry]" {-n,--note=}"[Include a note]" {-s,--section=}"[Section]" )
152
152
  ;;
153
153
  on)
154
- args=( "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
154
+ args=( "(--config_template=)--config_template=}[Output using a template from configuration]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show time totals at the end of output]" )
155
155
  ;;
156
156
  open)
157
157
  args=( {-a,--app=}"[Open with app name]" {-b,--bundle_id=}"[Open with app bundle id]" {-e,--editor=}"[Open with editor command]" )
@@ -160,7 +160,7 @@ function _doing() {
160
160
  args=( {-c,--column}"[List in single column for completion]" {-t,--type=}"[List plugins of type]" )
161
161
  ;;
162
162
  recent)
163
- args=( "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
163
+ args=( "(--config_template=)--config_template=}[Output using a template from configuration]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
164
164
  ;;
165
165
  reset)
166
166
  args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select from a menu of matching entries]" "(--not)--not}[Reset items that *dont* match search/tag filterst* match search/tag filters]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Limit search to section]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
@@ -178,10 +178,10 @@ function _doing() {
178
178
  args=( {-a,--archive}"[Archive selected items]" "(--after=)--after=}[Select from entries newer than date]" "(--resume)--resume}[Copy selection as a new entry with current time and no @done tag]" "(--before=)--before=}[Select from entries older than date]" {-c,--cancel}"[Cancel selected items]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--delete}"[Delete selected items]" {-e,--editor}"[Edit selected item(s)]" {-f,--finish}"[Add @done with current time to selected item(s)]" "(--flag)--flag}[Add flag to selected item(s)]" "(--force)--force}[Perform action without confirmation]" "(--from=)--from=}[Date range to show]" {-m,--move=}"[Move selected items to section]" "(--menu)--menu}[Use --no-menu to skip the interactive menu]" "(--not)--not}[Select items that *dont* match search/tag filterst* match search/tag filters]" {-o,--output=}"[Output entries to format]" {-q,--query=}"[Initial search query for filtering]" {-r,--remove}"[Reverse -c]" {-s,--section=}"[Select from a specific section]" "(--save_to=)--save_to=}[Save selected entries to file using --output format]" "(--search=)--search=}[Select from entries matching search filter]" {-t,--tag=}"[Tag selected entries]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
179
179
  ;;
180
180
  show)
181
- args=( {-a,--age=}"[Age]" "(--after=)--after=}[Show entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[Show entries older than date]" {-c,--count=}"[Max count to show]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Date range to show]" {-h,--hilite}"[Highlight search matches in output]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-m,--menu}"[Select section or tag to display from a menu]" "(--not)--not}[Show items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--sort=}"[Sort order]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
181
+ args=( {-a,--age=}"[Age]" "(--after=)--after=}[Show entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[Show entries older than date]" {-c,--count=}"[Max count to show]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--config_template=)--config_template=}[Output using a template from configuration]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Date range to show]" {-h,--hilite}"[Highlight search matches in output]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-m,--menu}"[Select section or tag to display from a menu]" "(--not)--not}[Show items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--sort=}"[Sort order]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show intervals with totals at the end of output]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
182
182
  ;;
183
183
  since)
184
- args=( "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
184
+ args=( "(--config_template=)--config_template=}[Output using a template from configuration]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show time totals at the end of output]" )
185
185
  ;;
186
186
  tag)
187
187
  args=( {-a,--autotag}"[Autotag entries based on autotag configuration in ~/]" "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to tag all entries when count is 0t ask permission to tag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" "(--not)--not}[Tag items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove given tag(s)]" "(--regex)--regex}[Interpret tag string as regular expression]" "(--rename=)--rename=}[Replace existing tag with tag argument]" {-s,--section=}"[Section]" "(--search=)--search=}[Tag entries matching search filter]" "(--tag=)--tag=}[Tag the last X entries containing TAG]" {-u,--unfinished}"[Tag last entry]" {-v,--value=}"[Include a value]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
@@ -190,7 +190,7 @@ function _doing() {
190
190
  args=( {-r,--remove}"[Remove all default_tags from the local]" )
191
191
  ;;
192
192
  tags)
193
- args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-c,--counts}"[Show count of occurrences]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select items to scan from a menu of matching entries]" "(--not)--not}[Get tags from items that *dont* match search/tag filterst* match search/tag filters]" {-o,--order=}"[Sort order]" {-s,--section=}"[Section]" "(--search=)--search=}[Get tags for items matching search]" "(--sort=)--sort=}[Sort by name or count]" "(--tag=)--tag=}[Get tags for entries matching tags]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
193
+ args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-c,--counts}"[Show count of occurrences]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select items to scan from a menu of matching entries]" {-l,--line}"[Output in a single line with @ symbols]" "(--not)--not}[Get tags from items that *dont* match search/tag filterst* match search/tag filters]" {-o,--order=}"[Sort order]" {-s,--section=}"[Section]" "(--search=)--search=}[Get tags for items matching search]" "(--sort=)--sort=}[Sort by name or count]" "(--tag=)--tag=}[Get tags for entries matching tags]" "(--val=)--val=}[Perform a tag value query]" {-x,--exact}"[Force exact search string matching]" )
194
194
  ;;
195
195
  template)
196
196
  args=( {-c,--column}"[List in single column for completion]" {-l,--list}"[List all available templates]" {-p,--path=}"[Save template to alternate location]" {-s,--save}"[Save template to file instead of STDOUT]" )
@@ -199,7 +199,7 @@ function _doing() {
199
199
  args=( )
200
200
  ;;
201
201
  today)
202
- args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Time range to show `doing today --from "12pm to 4pm"`]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
202
+ args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" "(--config_template=)--config_template=}[Output using a template from configuration]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Time range to show `doing today --from "12pm to 4pm"`]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show time totals at the end of output]" )
203
203
  ;;
204
204
  undo)
205
205
  args=( {-f,--file=}"[Specify alternate doing file]" {-i,--interactive}"[Select from recent backups]" {-p,--prune=}"[Remove old backups]" {-r,--redo}"[Redo last undo]" )
@@ -214,7 +214,7 @@ function _doing() {
214
214
  args=( "(--after=)--after=}[Include entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[Include entries older than date]" {-f,--from=}"[Date range to include]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
215
215
  ;;
216
216
  yesterday)
217
- args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Time range to show]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
217
+ args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" "(--config_template=)--config_template=}[Output using a template from configuration]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Time range to show]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--template=)--template=}[Override output format with a template string containing %placeholders]" "(--totals)--totals}[Show time totals at the end of output]" )
218
218
  ;;
219
219
  esac
220
220