doing 2.1.12 → 2.1.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.irbrc +1 -0
  3. data/.yardoc/checksums +16 -14
  4. data/.yardoc/object_types +0 -0
  5. data/.yardoc/objects/root.dat +0 -0
  6. data/CHANGELOG.md +67 -0
  7. data/Gemfile.lock +9 -2
  8. data/README.md +56 -19
  9. data/bin/doing +317 -113
  10. data/docs/doc/Array.html +117 -3
  11. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  12. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  13. data/docs/doc/BooleanTermParser/Query.html +1 -1
  14. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  15. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  16. data/docs/doc/BooleanTermParser.html +1 -1
  17. data/docs/doc/Doing/Color.html +1 -1
  18. data/docs/doc/Doing/Completion.html +1 -1
  19. data/docs/doc/Doing/Configuration.html +7 -4
  20. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  21. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  22. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  23. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  24. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  25. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  26. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  27. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  28. data/docs/doc/Doing/Errors.html +1 -1
  29. data/docs/doc/Doing/Hooks.html +1 -1
  30. data/docs/doc/Doing/Item.html +337 -14
  31. data/docs/doc/Doing/Items.html +66 -2
  32. data/docs/doc/Doing/LogAdapter.html +1 -1
  33. data/docs/doc/Doing/Note.html +2 -2
  34. data/docs/doc/Doing/Pager.html +1 -1
  35. data/docs/doc/Doing/Plugins.html +1 -1
  36. data/docs/doc/Doing/Prompt.html +103 -1
  37. data/docs/doc/Doing/Section.html +1 -1
  38. data/docs/doc/Doing/TemplateString.html +2 -2
  39. data/docs/doc/Doing/Util/Backup.html +84 -1
  40. data/docs/doc/Doing/Util.html +1 -1
  41. data/docs/doc/Doing/WWID.html +214 -35
  42. data/docs/doc/Doing.html +3 -3
  43. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  44. data/docs/doc/GLI/Commands.html +1 -1
  45. data/docs/doc/GLI.html +1 -1
  46. data/docs/doc/Hash.html +1 -1
  47. data/docs/doc/Numeric.html +279 -0
  48. data/docs/doc/PhraseParser/Operator.html +1 -1
  49. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  50. data/docs/doc/PhraseParser/Query.html +1 -1
  51. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  52. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  53. data/docs/doc/PhraseParser/TermClause.html +1 -1
  54. data/docs/doc/PhraseParser.html +1 -1
  55. data/docs/doc/Status.html +1 -1
  56. data/docs/doc/String.html +881 -138
  57. data/docs/doc/Symbol.html +1 -1
  58. data/docs/doc/Time.html +1 -1
  59. data/docs/doc/_index.html +14 -9
  60. data/docs/doc/class_list.html +1 -1
  61. data/docs/doc/file.README.html +41 -15
  62. data/docs/doc/index.html +41 -15
  63. data/docs/doc/method_list.html +408 -256
  64. data/docs/doc/top-level-namespace.html +2 -2
  65. data/docs/index.md +56 -19
  66. data/doing.gemspec +2 -0
  67. data/doing.rdoc +257 -48
  68. data/example_plugin.rb +2 -4
  69. data/lib/completion/_doing.zsh +31 -27
  70. data/lib/completion/doing.bash +50 -39
  71. data/lib/completion/doing.fish +37 -7
  72. data/lib/doing/array_chronify.rb +57 -0
  73. data/lib/doing/configuration.rb +4 -1
  74. data/lib/doing/item.rb +176 -0
  75. data/lib/doing/log_adapter.rb +1 -1
  76. data/lib/doing/numeric_chronify.rb +40 -0
  77. data/lib/doing/plugins/export/dayone_export.rb +1 -1
  78. data/lib/doing/plugins/export/json_export.rb +2 -2
  79. data/lib/doing/plugins/export/template_export.rb +47 -90
  80. data/lib/doing/plugins/import/calendar_import.rb +13 -1
  81. data/lib/doing/plugins/import/doing_import.rb +12 -1
  82. data/lib/doing/plugins/import/timing_import.rb +13 -1
  83. data/lib/doing/prompt.rb +54 -1
  84. data/lib/doing/string.rb +97 -33
  85. data/lib/doing/string_chronify.rb +112 -14
  86. data/lib/doing/template_string.rb +1 -1
  87. data/lib/doing/time.rb +6 -6
  88. data/lib/doing/util_backup.rb +1 -1
  89. data/lib/doing/version.rb +1 -1
  90. data/lib/doing/wwid.rb +128 -103
  91. data/lib/doing.rb +36 -31
  92. data/lib/examples/plugins/say_export.rb +1 -4
  93. metadata +46 -2
data/doing.rdoc CHANGED
@@ -5,12 +5,12 @@ 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.10
8
+ v2.1.16
9
9
 
10
10
  === Global Options
11
11
  === --config_file arg
12
12
 
13
- Use a specific configuration file. Deprecated, set $DOING_CONFIG instead.
13
+ Use a specific configuration file. Deprecated, set $DOING_CONFIG instead
14
14
 
15
15
  [Default Value] /Users/ttscoff/.config/doing/config.yml
16
16
 
@@ -90,11 +90,11 @@ Add a new section to the "doing" file
90
90
  ==== Command: <tt>again|resume </tt>
91
91
  Repeat last entry as new entry
92
92
 
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.
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
95
  ===== --bool BOOLEAN
96
96
 
97
- Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans.
97
+ Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
98
98
 
99
99
  [Default Value] PATTERN
100
100
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -117,7 +117,7 @@ Add new entry to section (default: same section as repeated entry)
117
117
 
118
118
  ===== -n|--note TEXT
119
119
 
120
- Note
120
+ Add a note
121
121
 
122
122
  [Default Value] None
123
123
 
@@ -139,11 +139,24 @@ Repeat last entry matching search. Surround with
139
139
 
140
140
  ===== --tag TAG
141
141
 
142
- Repeat last entry matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?).
142
+ Repeat last entry matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?)
143
143
 
144
144
  [Default Value] None
145
145
 
146
146
 
147
+ ===== --val QUERY
148
+
149
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
150
+
151
+ [Default Value] None
152
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
153
+
154
+
155
+ ===== --ask
156
+ Prompt for note via multi-line input
157
+
158
+
159
+
147
160
  ===== -e|--editor
148
161
  Edit duplicated entry with vim before adding
149
162
 
@@ -182,7 +195,7 @@ Archive entries older than date
182
195
 
183
196
  ===== --bool BOOLEAN
184
197
 
185
- Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
198
+ Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
186
199
 
187
200
  [Default Value] PATTERN
188
201
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -220,11 +233,19 @@ Move entries to
220
233
 
221
234
  ===== --tag TAG
222
235
 
223
- Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands.
236
+ Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands
224
237
 
225
238
  [Default Value] None
226
239
 
227
240
 
241
+ ===== --val QUERY
242
+
243
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
244
+
245
+ [Default Value] None
246
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
247
+
248
+
228
249
  ===== --[no-]label
229
250
  Label moved items with @from(SECTION_NAME)
230
251
 
@@ -303,11 +324,11 @@ Autotag last entry (or entries) not marked @done
303
324
  ==== Command: <tt>cancel COUNT</tt>
304
325
  End last X entries with no time tracked
305
326
 
306
- Adds @done tag without datestamp so no elapsed time is recorded. Alias for `doing finish --no-date`.
327
+ Adds @done tag without datestamp so no elapsed time is recorded. Alias for `doing finish --no-date`
307
328
  ===== Options
308
329
  ===== --bool BOOLEAN
309
330
 
310
- Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
331
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
311
332
 
312
333
  [Default Value] PATTERN
313
334
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -337,11 +358,19 @@ Cancel the last X entries matching search filter, surround with slashes for rege
337
358
 
338
359
  ===== --tag TAG
339
360
 
340
- Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2). Wildcards allowed (*, ?).
361
+ Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2). Wildcards allowed (*, ?)
341
362
 
342
363
  [Default Value] None
343
364
 
344
365
 
366
+ ===== --val QUERY
367
+
368
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
369
+
370
+ [Default Value] None
371
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
372
+
373
+
345
374
  ===== -a|--archive
346
375
  Archive entries
347
376
 
@@ -493,16 +522,16 @@ Update default config file, adding any missing keys
493
522
 
494
523
  [Default Command] edit
495
524
  ==== Command: <tt>done|did ENTRY</tt>
496
- Add a completed item with @done(date). No argument finishes last entry.
525
+ Add a completed item with @done(date). No argument finishes last entry
497
526
 
498
527
  Use this command to add an entry after you've already finished it. It will be immediately marked as @done.
499
528
  You can modify the start and end times of the entry using the --back, --took, and --at flags, making it an easy
500
529
  way to add entries in post and maintain accurate (albeit manual) time tracking.
501
530
  ===== Options
502
- ===== --at DATE_STRING
531
+ ===== --at|--finished DATE_STRING
503
532
 
504
533
  Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm).
505
- If used, ignores --back. Used with --took, backdates start date
534
+ Used with --took, backdates start date
506
535
 
507
536
  [Default Value] None
508
537
 
@@ -514,6 +543,14 @@ Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]
514
543
  [Default Value] None
515
544
 
516
545
 
546
+ ===== --from TIME_RANGE
547
+
548
+ Start and end times as a date/time range `doing done --from "1am to 8am"`.
549
+ Overrides other date flags.
550
+
551
+ [Default Value] None
552
+
553
+
517
554
  ===== -n|--note TEXT
518
555
 
519
556
  Include a note
@@ -528,7 +565,7 @@ Section
528
565
  [Default Value] None
529
566
 
530
567
 
531
- ===== -t|--took INTERVAL
568
+ ===== -t|--took|--for INTERVAL
532
569
 
533
570
  Set completion date to start date plus interval (XX[mhd] or HH:MM).
534
571
  If used without the --back option, the start date will be moved back to allow
@@ -542,6 +579,11 @@ Immediately archive the entry
542
579
 
543
580
 
544
581
 
582
+ ===== --ask
583
+ Prompt for note via multi-line input
584
+
585
+
586
+
545
587
  ===== --[no-]date
546
588
  Include date
547
589
 
@@ -583,7 +625,7 @@ Backdate completed date to date string [4pm|20m|2h|yesterday noon]
583
625
 
584
626
  ===== --bool BOOLEAN
585
627
 
586
- Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
628
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
587
629
 
588
630
  [Default Value] PATTERN
589
631
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -611,7 +653,7 @@ Finish the last X entries matching search filter, surround with slashes for rege
611
653
  [Default Value] None
612
654
 
613
655
 
614
- ===== -t|--took INTERVAL
656
+ ===== -t|--took|--for INTERVAL
615
657
 
616
658
  Set the completed date to the start date plus XX[hmd]
617
659
 
@@ -626,6 +668,14 @@ Finish the last X entries containing TAG.
626
668
  [Default Value] None
627
669
 
628
670
 
671
+ ===== --val QUERY
672
+
673
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
674
+
675
+ [Default Value] None
676
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
677
+
678
+
629
679
  ===== -a|--archive
630
680
  Archive entries
631
681
 
@@ -677,18 +727,26 @@ To search with regular expressions, single quote the string and surround with sl
677
727
  ===== Options
678
728
  ===== --after DATE_STRING
679
729
 
680
- Search entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
730
+ Search entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
681
731
 
682
732
  [Default Value] None
683
733
 
684
734
 
685
735
  ===== --before DATE_STRING
686
736
 
687
- Search entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
737
+ Search entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
688
738
 
689
739
  [Default Value] None
690
740
 
691
741
 
742
+ ===== --bool arg
743
+
744
+ Combine multiple tags or value queries using AND, OR, or NOT
745
+
746
+ [Default Value] AND
747
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
748
+
749
+
692
750
  ===== --case TYPE
693
751
 
694
752
  Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
@@ -731,11 +789,29 @@ Sort tags by (name|time)
731
789
  [Must Match] (?i-mx:^(?:name|time)$)
732
790
 
733
791
 
792
+ ===== --val QUERY
793
+
794
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
795
+
796
+ [Default Value] None
797
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
798
+
799
+
800
+ ===== -d|--delete
801
+ Delete matching entries
802
+
803
+
804
+
734
805
  ===== --[no-]duration
735
806
  Show elapsed time on entries without @done tag
736
807
 
737
808
 
738
809
 
810
+ ===== -e|--editor
811
+ Edit matching entries with vim
812
+
813
+
814
+
739
815
  ===== -i|--interactive
740
816
  Display an interactive menu of results to perform further operations
741
817
 
@@ -833,7 +909,7 @@ Only import items matching search. Surround with slashes for regex (/query/), st
833
909
  [Default Value] None
834
910
 
835
911
 
836
- ===== --tag TAGS
912
+ ===== -t|--tag TAGS
837
913
 
838
914
  Tag all imported entries
839
915
 
@@ -880,7 +956,7 @@ allowing `doing last` to target historical entries.
880
956
  ===== Options
881
957
  ===== --bool BOOLEAN
882
958
 
883
- Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
959
+ Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
884
960
 
885
961
  [Default Value] PATTERN
886
962
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -910,11 +986,24 @@ Search filter, surround with slashes for regex (/query/), start with single quot
910
986
 
911
987
  ===== --tag TAG
912
988
 
913
- Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?).
989
+ Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
914
990
 
915
991
  [Default Value] None
916
992
 
917
993
 
994
+ ===== --val QUERY
995
+
996
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
997
+
998
+ [Default Value] None
999
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1000
+
1001
+
1002
+ ===== -d|--delete
1003
+ Delete the last entry
1004
+
1005
+
1006
+
918
1007
  ===== --[no-]duration
919
1008
  Show elapsed time if entry is not tagged @done
920
1009
 
@@ -954,6 +1043,11 @@ Note
954
1043
  [Default Value] None
955
1044
 
956
1045
 
1046
+ ===== --ask
1047
+ Prompt for note via multi-line input
1048
+
1049
+
1050
+
957
1051
  ===== -e|--editor
958
1052
  Edit entry with vim
959
1053
 
@@ -966,7 +1060,7 @@ Mark last entry as flagged
966
1060
  ===== Options
967
1061
  ===== --bool BOOLEAN
968
1062
 
969
- Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
1063
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
970
1064
 
971
1065
  [Default Value] PATTERN
972
1066
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1010,6 +1104,14 @@ Flag the last entry containing TAG.
1010
1104
  [Default Value] None
1011
1105
 
1012
1106
 
1107
+ ===== --val QUERY
1108
+
1109
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
1110
+
1111
+ [Default Value] None
1112
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1113
+
1114
+
1013
1115
  ===== -d|--date
1014
1116
  Include current date/time with tag
1015
1117
 
@@ -1079,6 +1181,11 @@ Archive previous @meanwhile entry
1079
1181
 
1080
1182
 
1081
1183
 
1184
+ ===== --ask
1185
+ Prompt for note via multi-line input
1186
+
1187
+
1188
+
1082
1189
  ===== -e|--editor
1083
1190
  Edit entry with vim
1084
1191
 
@@ -1095,7 +1202,7 @@ If -r is provided with no other arguments, the last note is removed.
1095
1202
  ===== Options
1096
1203
  ===== --bool BOOLEAN
1097
1204
 
1098
- Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
1205
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
1099
1206
 
1100
1207
  [Default Value] PATTERN
1101
1208
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1125,9 +1232,22 @@ Add/remove note from last entry matching search filter, surround with slashes fo
1125
1232
 
1126
1233
  ===== --tag TAG
1127
1234
 
1128
- Add/remove note from last entry matching tag. Wildcards allowed (*, ?).
1235
+ Add/remove note from last entry matching tag. Wildcards allowed (*, ?)
1236
+
1237
+ [Default Value] None
1238
+
1239
+
1240
+ ===== --val QUERY
1241
+
1242
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
1129
1243
 
1130
1244
  [Default Value] None
1245
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1246
+
1247
+
1248
+ ===== --ask
1249
+ Prompt for note via multi-line input
1250
+
1131
1251
 
1132
1252
 
1133
1253
  ===== -e|--editor
@@ -1162,7 +1282,9 @@ Record what you're starting now, or backdate the start time using natural langua
1162
1282
 
1163
1283
  A parenthetical at the end of the entry will be converted to a note.
1164
1284
 
1165
- Run with no argument to create a new entry using vim.
1285
+ Run without arguments to create a new entry interactively.
1286
+
1287
+ Run with --editor to create a new entry using vim.
1166
1288
  ===== Options
1167
1289
  ===== -b|--back|--started DATE_STRING
1168
1290
 
@@ -1185,6 +1307,11 @@ Section
1185
1307
  [Default Value] None
1186
1308
 
1187
1309
 
1310
+ ===== --ask
1311
+ Prompt for note via multi-line input
1312
+
1313
+
1314
+
1188
1315
  ===== -e|--editor
1189
1316
  Edit entry with vim
1190
1317
 
@@ -1337,7 +1464,7 @@ If a date string is provided as an argument, the start time will be set to the p
1337
1464
  ===== Options
1338
1465
  ===== --bool BOOLEAN
1339
1466
 
1340
- Boolean (AND|OR|NOT) with which to combine multiple tag filters
1467
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
1341
1468
 
1342
1469
  [Default Value] PATTERN
1343
1470
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1367,11 +1494,19 @@ Reset last entry matching search filter, surround with slashes for regex (e.g. "
1367
1494
 
1368
1495
  ===== --tag TAG
1369
1496
 
1370
- Reset last entry matching tag. Wildcards allowed (*, ?).
1497
+ Reset last entry matching tag. Wildcards allowed (*, ?)
1371
1498
 
1372
1499
  [Default Value] None
1373
1500
 
1374
1501
 
1502
+ ===== --val QUERY
1503
+
1504
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
1505
+
1506
+ [Default Value] None
1507
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1508
+
1509
+
1375
1510
  ===== -i|--interactive
1376
1511
  Select from a menu of matching entries
1377
1512
 
@@ -1409,7 +1544,7 @@ Rotate entries older than date
1409
1544
 
1410
1545
  ===== --bool BOOLEAN
1411
1546
 
1412
- Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
1547
+ Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
1413
1548
 
1414
1549
  [Default Value] PATTERN
1415
1550
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1447,9 +1582,17 @@ Search filter
1447
1582
 
1448
1583
  ===== --tag TAG
1449
1584
 
1450
- Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands.
1585
+ Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands
1586
+
1587
+ [Default Value] None
1588
+
1589
+
1590
+ ===== --val QUERY
1591
+
1592
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
1451
1593
 
1452
1594
  [Default Value] None
1595
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1453
1596
 
1454
1597
 
1455
1598
  ===== --not
@@ -1483,7 +1626,7 @@ selected entries.
1483
1626
 
1484
1627
  Search in the menu by typing:
1485
1628
 
1486
- sbtrkt fuzzy-match Items that match sbtrkt
1629
+ sbtrkt fuzzy-match Items that match s*b*t*r*k*t
1487
1630
 
1488
1631
  'wild exact-match (quoted) Items that include wild
1489
1632
 
@@ -1491,14 +1634,14 @@ sbtrkt fuzzy-match Items that match sbtrkt
1491
1634
  ===== Options
1492
1635
  ===== --after DATE_STRING
1493
1636
 
1494
- Select from entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
1637
+ Select from entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
1495
1638
 
1496
1639
  [Default Value] None
1497
1640
 
1498
1641
 
1499
1642
  ===== --before DATE_STRING
1500
1643
 
1501
- Select from entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
1644
+ Select from entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
1502
1645
 
1503
1646
  [Default Value] None
1504
1647
 
@@ -1537,7 +1680,7 @@ Output entries to format (csv|dayone|dayone-days|dayone-entries|doing|html|json|
1537
1680
  [Default Value] None
1538
1681
 
1539
1682
 
1540
- ===== -q|--query|--search QUERY
1683
+ ===== -q|--query QUERY
1541
1684
 
1542
1685
  Initial search query for filtering. Matching is fuzzy. For exact matching, start query with a single quote, e.g. `--query "'search"
1543
1686
 
@@ -1558,6 +1701,13 @@ Save selected entries to file using --output format
1558
1701
  [Default Value] None
1559
1702
 
1560
1703
 
1704
+ ===== --search QUERY
1705
+
1706
+ Select from entries matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
1707
+
1708
+ [Default Value] None
1709
+
1710
+
1561
1711
  ===== -t|--tag TAG
1562
1712
 
1563
1713
  Tag selected entries
@@ -1565,6 +1715,14 @@ Tag selected entries
1565
1715
  [Default Value] None
1566
1716
 
1567
1717
 
1718
+ ===== --val QUERY
1719
+
1720
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
1721
+
1722
+ [Default Value] None
1723
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1724
+
1725
+
1568
1726
  ===== -a|--archive
1569
1727
  Archive selected items
1570
1728
 
@@ -1601,12 +1759,12 @@ Add flag to selected item(s)
1601
1759
 
1602
1760
 
1603
1761
  ===== --force
1604
- Perform action without confirmation.
1762
+ Perform action without confirmation
1605
1763
 
1606
1764
 
1607
1765
 
1608
1766
  ===== --[no-]menu
1609
- 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.
1767
+ 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
1610
1768
 
1611
1769
 
1612
1770
 
@@ -1644,14 +1802,14 @@ Age (oldest|newest)
1644
1802
 
1645
1803
  ===== --after DATE_STRING
1646
1804
 
1647
- Show entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
1805
+ Show entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
1648
1806
 
1649
1807
  [Default Value] None
1650
1808
 
1651
1809
 
1652
1810
  ===== -b|--bool BOOLEAN
1653
1811
 
1654
- Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
1812
+ Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans
1655
1813
 
1656
1814
  [Default Value] PATTERN
1657
1815
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1659,7 +1817,7 @@ Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
1659
1817
 
1660
1818
  ===== --before DATE_STRING
1661
1819
 
1662
- Show entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
1820
+ Show entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
1663
1821
 
1664
1822
  [Default Value] None
1665
1823
 
@@ -1716,7 +1874,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
1716
1874
 
1717
1875
  ===== --tag TAG
1718
1876
 
1719
- Tag filter, combine multiple tags with a comma. Use `--tag pick` for a menu of available tags. Wildcards allowed (*, ?). Added for compatibility with other commands.
1877
+ Tag filter, combine multiple tags with a comma. Use `--tag pick` for a menu of available tags. Wildcards allowed (*, ?). Added for compatibility with other commands
1720
1878
 
1721
1879
  [Default Value] None
1722
1880
 
@@ -1737,6 +1895,14 @@ Sort tags by (name|time)
1737
1895
  [Must Match] (?i-mx:^(?:name|time))
1738
1896
 
1739
1897
 
1898
+ ===== --val QUERY
1899
+
1900
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
1901
+
1902
+ [Default Value] None
1903
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1904
+
1905
+
1740
1906
  ===== --[no-]duration
1741
1907
  Show elapsed time on entries without @done tag
1742
1908
 
@@ -1839,7 +2005,7 @@ Add (or remove) tags from the last entry, or from multiple entries
1839
2005
  ===== Options
1840
2006
  ===== --bool BOOLEAN
1841
2007
 
1842
- Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
2008
+ Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
1843
2009
 
1844
2010
  [Default Value] PATTERN
1845
2011
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1890,6 +2056,21 @@ Tag the last X entries containing TAG.
1890
2056
  [Default Value] None
1891
2057
 
1892
2058
 
2059
+ ===== -v|--value VALUE
2060
+
2061
+ Include a value, e.g. @tag(value)
2062
+
2063
+ [Default Value] None
2064
+
2065
+
2066
+ ===== --val QUERY
2067
+
2068
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
2069
+
2070
+ [Default Value] None
2071
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
2072
+
2073
+
1893
2074
  ===== -a|--autotag
1894
2075
  Autotag entries based on autotag configuration in ~/.config/doing/config.yml
1895
2076
 
@@ -1935,6 +2116,18 @@ Force exact search string matching (case sensitive)
1935
2116
 
1936
2117
 
1937
2118
 
2119
+ ==== Command: <tt>tag_dir TAG [TAG..]</tt>
2120
+ Set the default tags for the current directory
2121
+
2122
+ Adds default_tags to a .doingrc file in the current directory. Any entry created in this directory or its
2123
+ subdirectories will be tagged with the default tags. You can modify these any time using the `config set` commnand or
2124
+ manually editing the .doingrc file.
2125
+ ===== Options
2126
+ ===== -r|--remove
2127
+ Remove all default_tags from the local .doingrc
2128
+
2129
+
2130
+
1938
2131
  ==== Command: <tt>tags </tt>
1939
2132
  List all tags in the current Doing file
1940
2133
 
@@ -1942,7 +2135,7 @@ List all tags in the current Doing file
1942
2135
  ===== Options
1943
2136
  ===== --bool BOOLEAN
1944
2137
 
1945
- Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans.
2138
+ Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
1946
2139
 
1947
2140
  [Default Value] PATTERN
1948
2141
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -1989,11 +2182,19 @@ Sort by name or count
1989
2182
 
1990
2183
  ===== --tag TAG
1991
2184
 
1992
- Get tags for entries matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?).
2185
+ Get tags for entries matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?)
1993
2186
 
1994
2187
  [Default Value] None
1995
2188
 
1996
2189
 
2190
+ ===== --val QUERY
2191
+
2192
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
2193
+
2194
+ [Default Value] None
2195
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
2196
+
2197
+
1997
2198
  ===== -c|--[no-]counts
1998
2199
  Show count of occurrences
1999
2200
 
@@ -2138,7 +2339,7 @@ Select from recent backups
2138
2339
 
2139
2340
 
2140
2341
  ===== -r|--[no-]redo
2141
- Redo last undo. Note: you cannot undo a redo.
2342
+ Redo last undo. Note: you cannot undo a redo
2142
2343
 
2143
2344
 
2144
2345
 
@@ -2150,7 +2351,7 @@ Command line options override view configuration.
2150
2351
  ===== Options
2151
2352
  ===== --after DATE_STRING
2152
2353
 
2153
- View entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
2354
+ View entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
2154
2355
 
2155
2356
  [Default Value] None
2156
2357
 
@@ -2164,7 +2365,7 @@ Age (oldest|newest)
2164
2365
 
2165
2366
  ===== -b|--bool BOOLEAN
2166
2367
 
2167
- Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
2368
+ Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans
2168
2369
 
2169
2370
  [Default Value] PATTERN
2170
2371
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -2172,7 +2373,7 @@ Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
2172
2373
 
2173
2374
  ===== --before DATE_STRING
2174
2375
 
2175
- View entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day.
2376
+ View entries older than date. If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day
2176
2377
 
2177
2378
  [Default Value] None
2178
2379
 
@@ -2228,7 +2429,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
2228
2429
 
2229
2430
  ===== --tag TAG
2230
2431
 
2231
- Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?).
2432
+ Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
2232
2433
 
2233
2434
  [Default Value] None
2234
2435
 
@@ -2249,6 +2450,14 @@ Sort tags by (name|time)
2249
2450
  [Must Match] (?i-mx:^(?:name|time)$)
2250
2451
 
2251
2452
 
2453
+ ===== --val QUERY
2454
+
2455
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
2456
+
2457
+ [Default Value] None
2458
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
2459
+
2460
+
2252
2461
  ===== --[no-]color
2253
2462
  Include colors in output
2254
2463