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