doing 2.1.0pre → 2.1.4pre
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.
- checksums.yaml +4 -4
- data/.yardoc/checksums +13 -9
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/CHANGELOG.md +42 -10
- data/Gemfile.lock +23 -1
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/bin/doing +421 -156
- data/doc/Array.html +1 -1
- data/doc/Doing/Color.html +1 -1
- data/doc/Doing/Completion.html +1 -1
- data/doc/Doing/Configuration.html +81 -90
- data/doc/Doing/Errors/DoingNoTraceError.html +1 -1
- data/doc/Doing/Errors/DoingRuntimeError.html +1 -1
- data/doc/Doing/Errors/DoingStandardError.html +1 -1
- data/doc/Doing/Errors/EmptyInput.html +1 -1
- data/doc/Doing/Errors/NoResults.html +1 -1
- data/doc/Doing/Errors/PluginException.html +1 -1
- data/doc/Doing/Errors/UserCancelled.html +1 -1
- data/doc/Doing/Errors/WrongCommand.html +1 -1
- data/doc/Doing/Errors.html +1 -1
- data/doc/Doing/Hooks.html +1 -1
- data/doc/Doing/Item.html +84 -20
- data/doc/Doing/Items.html +35 -1
- data/doc/Doing/LogAdapter.html +1 -1
- data/doc/Doing/Note.html +1 -1
- data/doc/Doing/Pager.html +1 -1
- data/doc/Doing/Plugins.html +1 -1
- data/doc/Doing/Prompt.html +70 -18
- data/doc/Doing/Section.html +1 -1
- data/doc/Doing/Util.html +16 -4
- data/doc/Doing/WWID.html +27 -147
- data/doc/Doing.html +3 -3
- data/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/doc/GLI/Commands.html +1 -1
- data/doc/GLI.html +1 -1
- data/doc/Hash.html +1 -1
- data/doc/Status.html +1 -1
- data/doc/String.html +344 -4
- data/doc/Symbol.html +1 -1
- data/doc/Time.html +70 -2
- data/doc/_index.html +125 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +2 -2
- data/doc/index.html +2 -2
- data/doc/method_list.html +537 -193
- data/doc/top-level-namespace.html +2 -2
- data/doing.gemspec +2 -0
- data/doing.rdoc +276 -75
- data/lib/completion/doing.bash +20 -20
- data/lib/doing/boolean_term_parser.rb +86 -0
- data/lib/doing/configuration.rb +36 -19
- data/lib/doing/item.rb +102 -9
- data/lib/doing/items.rb +6 -0
- data/lib/doing/phrase_parser.rb +124 -0
- data/lib/doing/plugins/export/template_export.rb +29 -2
- data/lib/doing/prompt.rb +21 -11
- data/lib/doing/string.rb +47 -3
- data/lib/doing/string_chronify.rb +85 -0
- data/lib/doing/time.rb +32 -0
- data/lib/doing/util.rb +2 -5
- data/lib/doing/util_backup.rb +235 -0
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +224 -124
- data/lib/doing.rb +7 -0
- metadata +46 -2
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.
|
8
|
+
v2.1.4pre
|
9
9
|
|
10
10
|
=== Global Options
|
11
11
|
=== --config_file arg
|
@@ -90,14 +90,14 @@ 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
|
-
|
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
|
97
|
+
Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans.
|
98
98
|
|
99
|
-
[Default Value]
|
100
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
99
|
+
[Default Value] PATTERN
|
100
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
101
101
|
|
102
102
|
|
103
103
|
===== --case TYPE
|
@@ -139,7 +139,7 @@ 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.
|
142
|
+
Repeat last entry matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?).
|
143
143
|
|
144
144
|
[Default Value] None
|
145
145
|
|
@@ -182,10 +182,10 @@ Archive entries older than date
|
|
182
182
|
|
183
183
|
===== --bool BOOLEAN
|
184
184
|
|
185
|
-
Tag boolean (AND|OR|NOT)
|
185
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
|
186
186
|
|
187
|
-
[Default Value]
|
188
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
187
|
+
[Default Value] PATTERN
|
188
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
189
189
|
|
190
190
|
|
191
191
|
===== --case TYPE
|
@@ -220,7 +220,7 @@ Move entries to
|
|
220
220
|
|
221
221
|
===== --tag TAG
|
222
222
|
|
223
|
-
Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
|
223
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands.
|
224
224
|
|
225
225
|
[Default Value] None
|
226
226
|
|
@@ -250,7 +250,7 @@ Autotag last entry or filtered entries
|
|
250
250
|
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
251
251
|
|
252
252
|
[Default Value] AND
|
253
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
253
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
254
254
|
|
255
255
|
|
256
256
|
===== -c|--count COUNT
|
@@ -307,10 +307,10 @@ Adds @done tag without datestamp so no elapsed time is recorded. Alias for `doin
|
|
307
307
|
===== Options
|
308
308
|
===== --bool BOOLEAN
|
309
309
|
|
310
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
310
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
311
311
|
|
312
|
-
[Default Value]
|
313
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
312
|
+
[Default Value] PATTERN
|
313
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
314
314
|
|
315
315
|
|
316
316
|
===== --case TYPE
|
@@ -337,7 +337,7 @@ Cancel the last X entries matching search filter, surround with slashes for rege
|
|
337
337
|
|
338
338
|
===== --tag TAG
|
339
339
|
|
340
|
-
Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2)
|
340
|
+
Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2). Wildcards allowed (*, ?).
|
341
341
|
|
342
342
|
[Default Value] None
|
343
343
|
|
@@ -367,6 +367,10 @@ Force exact search string matching (case sensitive)
|
|
367
367
|
|
368
368
|
|
369
369
|
|
370
|
+
==== Command: <tt>changelog|changes </tt>
|
371
|
+
List recent changes in Doing
|
372
|
+
|
373
|
+
Display a formatted list of changes in recent versions, latest at the top
|
370
374
|
==== Command: <tt>choose </tt>
|
371
375
|
Select a section to display from a menu
|
372
376
|
|
@@ -376,7 +380,8 @@ List available color variables for configuration templates and views
|
|
376
380
|
|
377
381
|
|
378
382
|
==== Command: <tt>completion </tt>
|
379
|
-
|
383
|
+
Generates the necessary scripts to add command line completion to various shells, so typing 'doing' and hitting
|
384
|
+
tab will offer completions of subcommands and their options.
|
380
385
|
|
381
386
|
|
382
387
|
===== Options
|
@@ -488,7 +493,9 @@ Update default config file, adding any missing keys
|
|
488
493
|
|
489
494
|
[Default Command] edit
|
490
495
|
==== Command: <tt>done|did ENTRY</tt>
|
491
|
-
|
496
|
+
Use this command to add an entry after you've already finished it. It will be immediately marked as @done.
|
497
|
+
You can modify the start and end times of the entry using the --back, --took, and --at flags, making it an easy
|
498
|
+
way to add entries in post and maintain accurate (albeit manual) time tracking.
|
492
499
|
|
493
500
|
|
494
501
|
===== Options
|
@@ -576,10 +583,10 @@ Backdate completed date to date string [4pm|20m|2h|yesterday noon]
|
|
576
583
|
|
577
584
|
===== --bool BOOLEAN
|
578
585
|
|
579
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
586
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
580
587
|
|
581
|
-
[Default Value]
|
582
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
588
|
+
[Default Value] PATTERN
|
589
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
583
590
|
|
584
591
|
|
585
592
|
===== --case TYPE
|
@@ -614,7 +621,7 @@ Set the completed date to the start date plus XX[hmd]
|
|
614
621
|
===== --tag TAG
|
615
622
|
|
616
623
|
Finish the last X entries containing TAG.
|
617
|
-
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
|
624
|
+
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool. Wildcards allowed (*, ?).
|
618
625
|
|
619
626
|
[Default Value] None
|
620
627
|
|
@@ -666,18 +673,18 @@ Search for entries
|
|
666
673
|
|
667
674
|
Search all sections (or limit to a single section) for entries matching text or regular expression. Normal strings are fuzzy matched.
|
668
675
|
|
669
|
-
To search with regular expressions, single quote the string and surround with slashes: `doing search '
|
676
|
+
To search with regular expressions, single quote the string and surround with slashes: `doing search '/m.*?x/'`
|
670
677
|
===== Options
|
671
678
|
===== --after DATE_STRING
|
672
679
|
|
673
|
-
|
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.
|
674
681
|
|
675
682
|
[Default Value] None
|
676
683
|
|
677
684
|
|
678
685
|
===== --before DATE_STRING
|
679
686
|
|
680
|
-
|
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.
|
681
688
|
|
682
689
|
[Default Value] None
|
683
690
|
|
@@ -690,6 +697,18 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
|
|
690
697
|
[Must Match] (?-mix:^[csi])
|
691
698
|
|
692
699
|
|
700
|
+
===== --from DATE_OR_RANGE
|
701
|
+
|
702
|
+
Date range to show, or a single day to filter date on.
|
703
|
+
Date range argument should be quoted. Date specifications can be natural language.
|
704
|
+
To specify a range, use "to" or "through": `doing search --from "monday 8am to friday 5pm"`.
|
705
|
+
|
706
|
+
If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
|
707
|
+
by time of day.
|
708
|
+
|
709
|
+
[Default Value] None
|
710
|
+
|
711
|
+
|
693
712
|
===== -o|--output FORMAT
|
694
713
|
|
695
714
|
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
@@ -712,6 +731,11 @@ Sort tags by (name|time)
|
|
712
731
|
[Must Match] (?i-mx:^(?:name|time)$)
|
713
732
|
|
714
733
|
|
734
|
+
===== --[no-]duration
|
735
|
+
Show elapsed time on entries without @done tag
|
736
|
+
|
737
|
+
|
738
|
+
|
715
739
|
===== -i|--interactive
|
716
740
|
Display an interactive menu of results to perform further operations
|
717
741
|
|
@@ -851,14 +875,15 @@ Force exact search string matching (case sensitive)
|
|
851
875
|
==== Command: <tt>last </tt>
|
852
876
|
Show the last entry, optionally edit
|
853
877
|
|
854
|
-
|
878
|
+
Shows the last entry. Using --search and --tag filters, you can view/edit the last entry matching a filter,
|
879
|
+
allowing `doing last` to target historical entries.
|
855
880
|
===== Options
|
856
881
|
===== --bool BOOLEAN
|
857
882
|
|
858
|
-
Tag boolean
|
883
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
|
859
884
|
|
860
|
-
[Default Value]
|
861
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
885
|
+
[Default Value] PATTERN
|
886
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
862
887
|
|
863
888
|
|
864
889
|
===== --case TYPE
|
@@ -885,11 +910,16 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
885
910
|
|
886
911
|
===== --tag TAG
|
887
912
|
|
888
|
-
Tag filter, combine multiple tags with a comma.
|
913
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?).
|
889
914
|
|
890
915
|
[Default Value] None
|
891
916
|
|
892
917
|
|
918
|
+
===== --[no-]duration
|
919
|
+
Show elapsed time if entry is not tagged @done
|
920
|
+
|
921
|
+
|
922
|
+
|
893
923
|
===== -e|--editor
|
894
924
|
Edit entry with vim
|
895
925
|
|
@@ -936,10 +966,10 @@ Mark last entry as flagged
|
|
936
966
|
===== Options
|
937
967
|
===== --bool BOOLEAN
|
938
968
|
|
939
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
969
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
940
970
|
|
941
|
-
[Default Value]
|
942
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
971
|
+
[Default Value] PATTERN
|
972
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
943
973
|
|
944
974
|
|
945
975
|
===== -c|--count COUNT
|
@@ -975,7 +1005,7 @@ Flag the last entry matching search filter, surround with slashes for regex (e.g
|
|
975
1005
|
===== --tag TAG
|
976
1006
|
|
977
1007
|
Flag the last entry containing TAG.
|
978
|
-
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
|
1008
|
+
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool. Wildcards allowed (*, ?).
|
979
1009
|
|
980
1010
|
[Default Value] None
|
981
1011
|
|
@@ -1018,7 +1048,10 @@ Force exact search string matching (case sensitive)
|
|
1018
1048
|
==== Command: <tt>meanwhile ENTRY</tt>
|
1019
1049
|
Finish any running @meanwhile tasks and optionally create a new one
|
1020
1050
|
|
1021
|
-
|
1051
|
+
The @meanwhile tag allows you to have long-running entries that encompass smaller entries.
|
1052
|
+
This command makes it easy to start and stop these overarching entries. Just run `doing meanwhile Starting work on this
|
1053
|
+
big project` to start a @meanwhile entry, add other entries as you work on the project, then use `doing meanwhile` by
|
1054
|
+
itself to mark the entry as @done.
|
1022
1055
|
===== Options
|
1023
1056
|
===== -b|--back DATE_STRING
|
1024
1057
|
|
@@ -1062,10 +1095,10 @@ If -r is provided with no other arguments, the last note is removed.
|
|
1062
1095
|
===== Options
|
1063
1096
|
===== --bool BOOLEAN
|
1064
1097
|
|
1065
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
1098
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
1066
1099
|
|
1067
|
-
[Default Value]
|
1068
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
1100
|
+
[Default Value] PATTERN
|
1101
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
1069
1102
|
|
1070
1103
|
|
1071
1104
|
===== --case TYPE
|
@@ -1092,7 +1125,7 @@ Add/remove note from last entry matching search filter, surround with slashes fo
|
|
1092
1125
|
|
1093
1126
|
===== --tag TAG
|
1094
1127
|
|
1095
|
-
Add/remove note from last entry matching tag
|
1128
|
+
Add/remove note from last entry matching tag. Wildcards allowed (*, ?).
|
1096
1129
|
|
1097
1130
|
[Default Value] None
|
1098
1131
|
|
@@ -1191,6 +1224,11 @@ Sort tags by (name|time)
|
|
1191
1224
|
[Must Match] (?i-mx:^(?:name|time)$)
|
1192
1225
|
|
1193
1226
|
|
1227
|
+
===== --[no-]duration
|
1228
|
+
Show elapsed time on entries without @done tag
|
1229
|
+
|
1230
|
+
|
1231
|
+
|
1194
1232
|
===== -t|--[no-]times
|
1195
1233
|
Show time intervals on @done tasks
|
1196
1234
|
|
@@ -1204,7 +1242,8 @@ Show time totals at the end of output
|
|
1204
1242
|
==== Command: <tt>open </tt>
|
1205
1243
|
Open the "doing" file in an editor
|
1206
1244
|
|
1207
|
-
`doing open` defaults to using the
|
1245
|
+
`doing open` defaults to using the editors->doing_file setting
|
1246
|
+
in /Users/ttscoff/.config/doing/config.yml (TaskPaper).
|
1208
1247
|
===== Options
|
1209
1248
|
===== -a|--app APP_NAME
|
1210
1249
|
|
@@ -1269,6 +1308,11 @@ Sort tags by (name|time)
|
|
1269
1308
|
[Must Match] (?i-mx:^(?:name|time)$)
|
1270
1309
|
|
1271
1310
|
|
1311
|
+
===== --[no-]duration
|
1312
|
+
Show elapsed time on entries without @done tag
|
1313
|
+
|
1314
|
+
|
1315
|
+
|
1272
1316
|
===== -i|--interactive
|
1273
1317
|
Select from a menu of matching entries to perform additional operations
|
1274
1318
|
|
@@ -1284,17 +1328,19 @@ Show intervals with totals at the end of output
|
|
1284
1328
|
|
1285
1329
|
|
1286
1330
|
|
1287
|
-
==== Command: <tt>reset|begin
|
1331
|
+
==== Command: <tt>reset|begin DATE_STRING</tt>
|
1288
1332
|
Reset the start time of an entry
|
1289
1333
|
|
1290
|
-
|
1334
|
+
Update the start time of the last entry or the last entry matching a tag/search filter.
|
1335
|
+
If no argument is provided, the start time will be reset to the current time.
|
1336
|
+
If a date string is provided as an argument, the start time will be set to the parsed result.
|
1291
1337
|
===== Options
|
1292
1338
|
===== --bool BOOLEAN
|
1293
1339
|
|
1294
1340
|
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
1295
1341
|
|
1296
|
-
[Default Value]
|
1297
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
1342
|
+
[Default Value] PATTERN
|
1343
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
1298
1344
|
|
1299
1345
|
|
1300
1346
|
===== --case TYPE
|
@@ -1321,7 +1367,7 @@ Reset last entry matching search filter, surround with slashes for regex (e.g. "
|
|
1321
1367
|
|
1322
1368
|
===== --tag TAG
|
1323
1369
|
|
1324
|
-
Reset last entry matching tag
|
1370
|
+
Reset last entry matching tag. Wildcards allowed (*, ?).
|
1325
1371
|
|
1326
1372
|
[Default Value] None
|
1327
1373
|
|
@@ -1349,7 +1395,9 @@ Force exact search string matching (case sensitive)
|
|
1349
1395
|
==== Command: <tt>rotate </tt>
|
1350
1396
|
Move entries to archive file
|
1351
1397
|
|
1352
|
-
|
1398
|
+
As your doing file grows, commands can get slow. Given that your historical data (and your archive section)
|
1399
|
+
probably aren't providing any useful insights a year later, use this command to "rotate" old entries out to an archive
|
1400
|
+
file. You'll still have access to all historical data, but it won't be slowing down daily operation.
|
1353
1401
|
===== Options
|
1354
1402
|
===== --before DATE_STRING
|
1355
1403
|
|
@@ -1361,10 +1409,10 @@ Rotate entries older than date
|
|
1361
1409
|
|
1362
1410
|
===== --bool BOOLEAN
|
1363
1411
|
|
1364
|
-
Tag boolean (AND|OR|NOT)
|
1412
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
|
1365
1413
|
|
1366
|
-
[Default Value]
|
1367
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
1414
|
+
[Default Value] PATTERN
|
1415
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
1368
1416
|
|
1369
1417
|
|
1370
1418
|
===== --case TYPE
|
@@ -1399,7 +1447,7 @@ Search filter
|
|
1399
1447
|
|
1400
1448
|
===== --tag TAG
|
1401
1449
|
|
1402
|
-
Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
|
1450
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands.
|
1403
1451
|
|
1404
1452
|
[Default Value] None
|
1405
1453
|
|
@@ -1432,7 +1480,29 @@ List all entries and select with typeahead fuzzy matching.
|
|
1432
1480
|
Multiple selections are allowed, hit tab to add the highlighted entry to the
|
1433
1481
|
selection, and use ctrl-a to select all visible items. Return processes the
|
1434
1482
|
selected entries.
|
1483
|
+
|
1484
|
+
Search in the menu by typing:
|
1485
|
+
|
1486
|
+
sbtrkt fuzzy-match Items that match sbtrkt
|
1487
|
+
|
1488
|
+
'wild exact-match (quoted) Items that include wild
|
1489
|
+
|
1490
|
+
!fire inverse-exact-match Items that do not include fire
|
1435
1491
|
===== Options
|
1492
|
+
===== --after DATE_STRING
|
1493
|
+
|
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.
|
1495
|
+
|
1496
|
+
[Default Value] None
|
1497
|
+
|
1498
|
+
|
1499
|
+
===== --before DATE_STRING
|
1500
|
+
|
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.
|
1502
|
+
|
1503
|
+
[Default Value] None
|
1504
|
+
|
1505
|
+
|
1436
1506
|
===== --case TYPE
|
1437
1507
|
|
1438
1508
|
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
@@ -1441,6 +1511,18 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
|
|
1441
1511
|
[Must Match] (?-mix:^[csi])
|
1442
1512
|
|
1443
1513
|
|
1514
|
+
===== --from DATE_OR_RANGE
|
1515
|
+
|
1516
|
+
Date range to show, or a single day to filter date on.
|
1517
|
+
Date range argument should be quoted. Date specifications can be natural language.
|
1518
|
+
To specify a range, use "to" or "through": `doing select --from "monday 8am to friday 5pm"`.
|
1519
|
+
|
1520
|
+
If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
|
1521
|
+
by time of day.
|
1522
|
+
|
1523
|
+
[Default Value] None
|
1524
|
+
|
1525
|
+
|
1444
1526
|
===== -m|--move SECTION
|
1445
1527
|
|
1446
1528
|
Move selected items to section
|
@@ -1547,7 +1629,11 @@ Force exact search string matching (case sensitive)
|
|
1547
1629
|
List all entries
|
1548
1630
|
|
1549
1631
|
The argument can be a section name, @tag(s) or both.
|
1550
|
-
"pick" or "choose" as an argument will offer a section menu.
|
1632
|
+
"pick" or "choose" as an argument will offer a section menu. Run with `--menu` to get a menu of available tags.
|
1633
|
+
|
1634
|
+
Show tags by passing @tagname arguments. Multiple tags can be combined, and you can specify the boolean used to
|
1635
|
+
combine them with `--bool (AND|OR|NOT)`. You can also use @+tagname to require a tag to match, or @-tagname to ignore
|
1636
|
+
entries containing tagname. +/- operators require `--bool PATTERN` (which is the default).
|
1551
1637
|
===== Options
|
1552
1638
|
===== -a|--age AGE
|
1553
1639
|
|
@@ -1558,22 +1644,22 @@ Age (oldest|newest)
|
|
1558
1644
|
|
1559
1645
|
===== --after DATE_STRING
|
1560
1646
|
|
1561
|
-
|
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.
|
1562
1648
|
|
1563
1649
|
[Default Value] None
|
1564
1650
|
|
1565
1651
|
|
1566
1652
|
===== -b|--bool BOOLEAN
|
1567
1653
|
|
1568
|
-
Tag boolean (AND,OR,NOT)
|
1654
|
+
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
|
1569
1655
|
|
1570
|
-
[Default Value]
|
1571
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
1656
|
+
[Default Value] PATTERN
|
1657
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
1572
1658
|
|
1573
1659
|
|
1574
1660
|
===== --before DATE_STRING
|
1575
1661
|
|
1576
|
-
|
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.
|
1577
1663
|
|
1578
1664
|
[Default Value] None
|
1579
1665
|
|
@@ -1593,11 +1679,14 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
|
|
1593
1679
|
[Must Match] (?-mix:^[csi])
|
1594
1680
|
|
1595
1681
|
|
1596
|
-
=====
|
1682
|
+
===== --from DATE_OR_RANGE
|
1597
1683
|
|
1598
1684
|
Date range to show, or a single day to filter date on.
|
1599
|
-
|
1600
|
-
|
1685
|
+
Date range argument should be quoted. Date specifications can be natural language.
|
1686
|
+
To specify a range, use "to" or "through": `doing show --from "monday 8am to friday 5pm"`.
|
1687
|
+
|
1688
|
+
If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
|
1689
|
+
by time of day.
|
1601
1690
|
|
1602
1691
|
[Default Value] None
|
1603
1692
|
|
@@ -1626,7 +1715,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
1626
1715
|
|
1627
1716
|
===== --tag TAG
|
1628
1717
|
|
1629
|
-
Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
|
1718
|
+
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.
|
1630
1719
|
|
1631
1720
|
[Default Value] None
|
1632
1721
|
|
@@ -1647,11 +1736,21 @@ Sort tags by (name|time)
|
|
1647
1736
|
[Must Match] (?i-mx:^(?:name|time))
|
1648
1737
|
|
1649
1738
|
|
1739
|
+
===== --[no-]duration
|
1740
|
+
Show elapsed time on entries without @done tag
|
1741
|
+
|
1742
|
+
|
1743
|
+
|
1650
1744
|
===== -i|--interactive
|
1651
1745
|
Select from a menu of matching entries to perform additional operations
|
1652
1746
|
|
1653
1747
|
|
1654
1748
|
|
1749
|
+
===== -m|--menu
|
1750
|
+
Select section or tag to display from a menu
|
1751
|
+
|
1752
|
+
|
1753
|
+
|
1655
1754
|
===== --not
|
1656
1755
|
Show items that *don't* match search/tag/date filters
|
1657
1756
|
|
@@ -1705,6 +1804,11 @@ Sort tags by (name|time)
|
|
1705
1804
|
[Must Match] (?i-mx:^(?:name|time)$)
|
1706
1805
|
|
1707
1806
|
|
1807
|
+
===== --[no-]duration
|
1808
|
+
Show elapsed time on entries without @done tag
|
1809
|
+
|
1810
|
+
|
1811
|
+
|
1708
1812
|
===== -t|--[no-]times
|
1709
1813
|
Show time intervals on @done tasks
|
1710
1814
|
|
@@ -1734,10 +1838,10 @@ Add (or remove) tags from the last entry, or from multiple entries
|
|
1734
1838
|
===== Options
|
1735
1839
|
===== --bool BOOLEAN
|
1736
1840
|
|
1737
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
1841
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
1738
1842
|
|
1739
|
-
[Default Value]
|
1740
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
1843
|
+
[Default Value] PATTERN
|
1844
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
1741
1845
|
|
1742
1846
|
|
1743
1847
|
===== -c|--count COUNT
|
@@ -1780,7 +1884,7 @@ Tag entries matching search filter, surround with slashes for regex (e.g. "/quer
|
|
1780
1884
|
===== --tag TAG
|
1781
1885
|
|
1782
1886
|
Tag the last X entries containing TAG.
|
1783
|
-
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
|
1887
|
+
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool. Wildcards allowed (*, ?).
|
1784
1888
|
|
1785
1889
|
[Default Value] None
|
1786
1890
|
|
@@ -1830,6 +1934,39 @@ Force exact search string matching (case sensitive)
|
|
1830
1934
|
|
1831
1935
|
|
1832
1936
|
|
1937
|
+
==== Command: <tt>tags </tt>
|
1938
|
+
List all tags in the current Doing file
|
1939
|
+
|
1940
|
+
|
1941
|
+
===== Options
|
1942
|
+
===== -o|--order ORDER
|
1943
|
+
|
1944
|
+
Sort order (asc/desc)
|
1945
|
+
|
1946
|
+
[Default Value] asc
|
1947
|
+
[Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
|
1948
|
+
|
1949
|
+
|
1950
|
+
===== -s|--section SECTION_NAME
|
1951
|
+
|
1952
|
+
Section
|
1953
|
+
|
1954
|
+
[Default Value] All
|
1955
|
+
|
1956
|
+
|
1957
|
+
===== --sort SORT_ORDER
|
1958
|
+
|
1959
|
+
Sort by name or count
|
1960
|
+
|
1961
|
+
[Default Value] name
|
1962
|
+
[Must Match] (?-mix:^(?:n(?:ame)?|c(?:ount)?)$)
|
1963
|
+
|
1964
|
+
|
1965
|
+
===== -c|--[no-]counts
|
1966
|
+
Show count of occurrences
|
1967
|
+
|
1968
|
+
|
1969
|
+
|
1833
1970
|
==== Command: <tt>template TYPE</tt>
|
1834
1971
|
Output HTML, CSS, and Markdown (ERB) templates for customization
|
1835
1972
|
|
@@ -1853,7 +1990,8 @@ This command is coming from /Users/ttscoff/.config/doing/commands/test.rb
|
|
1853
1990
|
==== Command: <tt>today </tt>
|
1854
1991
|
List entries from today
|
1855
1992
|
|
1856
|
-
|
1993
|
+
List entries from the current day. Use --before, --after, and
|
1994
|
+
--from to specify time ranges.
|
1857
1995
|
===== Options
|
1858
1996
|
===== --after TIME_STRING
|
1859
1997
|
|
@@ -1869,6 +2007,13 @@ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
|
|
1869
2007
|
[Default Value] None
|
1870
2008
|
|
1871
2009
|
|
2010
|
+
===== --from DATE_OR_RANGE
|
2011
|
+
|
2012
|
+
Time range to show `doing today --from "12pm to 4pm"`
|
2013
|
+
|
2014
|
+
[Default Value] None
|
2015
|
+
|
2016
|
+
|
1872
2017
|
===== -o|--output FORMAT
|
1873
2018
|
|
1874
2019
|
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
@@ -1891,6 +2036,11 @@ Sort tags by (name|time)
|
|
1891
2036
|
[Must Match] (?i-mx:^(?:name|time)$)
|
1892
2037
|
|
1893
2038
|
|
2039
|
+
===== --[no-]duration
|
2040
|
+
Show elapsed time on entries without @done tag
|
2041
|
+
|
2042
|
+
|
2043
|
+
|
1894
2044
|
===== -t|--[no-]times
|
1895
2045
|
Show time intervals on @done tasks
|
1896
2046
|
|
@@ -1901,10 +2051,13 @@ Show time totals at the end of output
|
|
1901
2051
|
|
1902
2052
|
|
1903
2053
|
|
1904
|
-
==== Command: <tt>undo
|
1905
|
-
Undo the last
|
2054
|
+
==== Command: <tt>undo COUNT</tt>
|
2055
|
+
Undo the last X changes to the Doing file
|
1906
2056
|
|
2057
|
+
Reverts the last X commands that altered the doing file.
|
2058
|
+
All changes performed by a single command are undone at once.
|
1907
2059
|
|
2060
|
+
Specify a number to jump back multiple revisions, or use --select for an interactive menu.
|
1908
2061
|
===== Options
|
1909
2062
|
===== -f|--file PATH
|
1910
2063
|
|
@@ -1913,29 +2066,47 @@ Specify alternate doing file
|
|
1913
2066
|
[Default Value] None
|
1914
2067
|
|
1915
2068
|
|
2069
|
+
===== -p|--prune COUNT
|
2070
|
+
|
2071
|
+
Remove old backups, retaining X files
|
2072
|
+
|
2073
|
+
[Default Value] None
|
2074
|
+
|
2075
|
+
|
2076
|
+
===== -i|--interactive
|
2077
|
+
Select from recent backups
|
2078
|
+
|
2079
|
+
|
2080
|
+
|
2081
|
+
===== -r|--[no-]redo
|
2082
|
+
Redo last undo. Note: you cannot undo a redo.
|
2083
|
+
|
2084
|
+
|
2085
|
+
|
1916
2086
|
==== Command: <tt>view VIEW_NAME</tt>
|
1917
2087
|
Display a user-created view
|
1918
2088
|
|
1919
|
-
|
2089
|
+
Views are defined in your configuration (use `doing config` to edit).
|
2090
|
+
Command line options override view configuration.
|
1920
2091
|
===== Options
|
1921
2092
|
===== --after DATE_STRING
|
1922
2093
|
|
1923
|
-
View entries newer than date
|
2094
|
+
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.
|
1924
2095
|
|
1925
2096
|
[Default Value] None
|
1926
2097
|
|
1927
2098
|
|
1928
2099
|
===== -b|--bool BOOLEAN
|
1929
2100
|
|
1930
|
-
Tag boolean (AND,OR,NOT)
|
2101
|
+
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
|
1931
2102
|
|
1932
|
-
[Default Value]
|
1933
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
2103
|
+
[Default Value] PATTERN
|
2104
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
1934
2105
|
|
1935
2106
|
|
1936
2107
|
===== --before DATE_STRING
|
1937
2108
|
|
1938
|
-
View entries older than date
|
2109
|
+
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.
|
1939
2110
|
|
1940
2111
|
[Default Value] None
|
1941
2112
|
|
@@ -1956,6 +2127,18 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
|
|
1956
2127
|
[Must Match] (?-mix:^[csi])
|
1957
2128
|
|
1958
2129
|
|
2130
|
+
===== --from DATE_OR_RANGE
|
2131
|
+
|
2132
|
+
Date range to show, or a single day to filter date on.
|
2133
|
+
Date range argument should be quoted. Date specifications can be natural language.
|
2134
|
+
To specify a range, use "to" or "through": `doing view --from "monday 8am to friday 5pm" view_name`.
|
2135
|
+
|
2136
|
+
If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
|
2137
|
+
by time of day.
|
2138
|
+
|
2139
|
+
[Default Value] None
|
2140
|
+
|
2141
|
+
|
1959
2142
|
===== -o|--output FORMAT
|
1960
2143
|
|
1961
2144
|
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
@@ -1979,7 +2162,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
1979
2162
|
|
1980
2163
|
===== --tag TAG
|
1981
2164
|
|
1982
|
-
Tag filter, combine multiple tags with a comma.
|
2165
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?).
|
1983
2166
|
|
1984
2167
|
[Default Value] None
|
1985
2168
|
|
@@ -2005,6 +2188,11 @@ Include colors in output
|
|
2005
2188
|
|
2006
2189
|
|
2007
2190
|
|
2191
|
+
===== --[no-]duration
|
2192
|
+
Show elapsed time on entries without @done tag
|
2193
|
+
|
2194
|
+
|
2195
|
+
|
2008
2196
|
===== -i|--interactive
|
2009
2197
|
Select from a menu of matching entries to perform additional operations
|
2010
2198
|
|
@@ -2062,7 +2250,7 @@ Include entries newer than date
|
|
2062
2250
|
Tag boolean (AND,OR,NOT)
|
2063
2251
|
|
2064
2252
|
[Default Value] OR
|
2065
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
2253
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
2066
2254
|
|
2067
2255
|
|
2068
2256
|
===== --before DATE_STRING
|
@@ -2108,7 +2296,8 @@ Only show items with recorded time intervals
|
|
2108
2296
|
|
2109
2297
|
|
2110
2298
|
==== Command: <tt>yesterday </tt>
|
2111
|
-
|
2299
|
+
Show only entries with start times within the previous 24 hour period. Use --before, --after, and --from to limit to
|
2300
|
+
time spans within the day.
|
2112
2301
|
|
2113
2302
|
|
2114
2303
|
===== Options
|
@@ -2126,6 +2315,13 @@ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
|
|
2126
2315
|
[Default Value] None
|
2127
2316
|
|
2128
2317
|
|
2318
|
+
===== --from TIME_RANGE
|
2319
|
+
|
2320
|
+
Time range to show, e.g. `doing yesterday --from "1am to 8am"`
|
2321
|
+
|
2322
|
+
[Default Value] None
|
2323
|
+
|
2324
|
+
|
2129
2325
|
===== -o|--output FORMAT
|
2130
2326
|
|
2131
2327
|
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
@@ -2156,6 +2352,11 @@ Sort tags by (name|time)
|
|
2156
2352
|
[Must Match] (?i-mx:^(?:name|time)$)
|
2157
2353
|
|
2158
2354
|
|
2355
|
+
===== --[no-]duration
|
2356
|
+
Show elapsed time on entries without @done tag
|
2357
|
+
|
2358
|
+
|
2359
|
+
|
2159
2360
|
===== -t|--[no-]times
|
2160
2361
|
Show time intervals on @done tasks
|
2161
2362
|
|