doing 2.1.12 → 2.1.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.irbrc +1 -0
- data/.yardoc/checksums +16 -14
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/CHANGELOG.md +67 -0
- data/Gemfile.lock +9 -2
- data/README.md +56 -19
- data/bin/doing +317 -113
- data/docs/doc/Array.html +117 -3
- data/docs/doc/BooleanTermParser/Clause.html +1 -1
- data/docs/doc/BooleanTermParser/Operator.html +1 -1
- data/docs/doc/BooleanTermParser/Query.html +1 -1
- data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
- data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
- data/docs/doc/BooleanTermParser.html +1 -1
- data/docs/doc/Doing/Color.html +1 -1
- data/docs/doc/Doing/Completion.html +1 -1
- data/docs/doc/Doing/Configuration.html +7 -4
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
- data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
- data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
- data/docs/doc/Doing/Errors/NoResults.html +1 -1
- data/docs/doc/Doing/Errors/PluginException.html +1 -1
- data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
- data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
- data/docs/doc/Doing/Errors.html +1 -1
- data/docs/doc/Doing/Hooks.html +1 -1
- data/docs/doc/Doing/Item.html +337 -14
- data/docs/doc/Doing/Items.html +66 -2
- data/docs/doc/Doing/LogAdapter.html +1 -1
- data/docs/doc/Doing/Note.html +2 -2
- data/docs/doc/Doing/Pager.html +1 -1
- data/docs/doc/Doing/Plugins.html +1 -1
- data/docs/doc/Doing/Prompt.html +103 -1
- data/docs/doc/Doing/Section.html +1 -1
- data/docs/doc/Doing/TemplateString.html +2 -2
- data/docs/doc/Doing/Util/Backup.html +84 -1
- data/docs/doc/Doing/Util.html +1 -1
- data/docs/doc/Doing/WWID.html +214 -35
- data/docs/doc/Doing.html +3 -3
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/docs/doc/GLI/Commands.html +1 -1
- data/docs/doc/GLI.html +1 -1
- data/docs/doc/Hash.html +1 -1
- data/docs/doc/Numeric.html +279 -0
- data/docs/doc/PhraseParser/Operator.html +1 -1
- data/docs/doc/PhraseParser/PhraseClause.html +1 -1
- data/docs/doc/PhraseParser/Query.html +1 -1
- data/docs/doc/PhraseParser/QueryParser.html +1 -1
- data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
- data/docs/doc/PhraseParser/TermClause.html +1 -1
- data/docs/doc/PhraseParser.html +1 -1
- data/docs/doc/Status.html +1 -1
- data/docs/doc/String.html +881 -138
- data/docs/doc/Symbol.html +1 -1
- data/docs/doc/Time.html +1 -1
- data/docs/doc/_index.html +14 -9
- data/docs/doc/class_list.html +1 -1
- data/docs/doc/file.README.html +41 -15
- data/docs/doc/index.html +41 -15
- data/docs/doc/method_list.html +408 -256
- data/docs/doc/top-level-namespace.html +2 -2
- data/docs/index.md +56 -19
- data/doing.gemspec +2 -0
- data/doing.rdoc +257 -48
- data/example_plugin.rb +2 -4
- data/lib/completion/_doing.zsh +31 -27
- data/lib/completion/doing.bash +50 -39
- data/lib/completion/doing.fish +37 -7
- data/lib/doing/array_chronify.rb +57 -0
- data/lib/doing/configuration.rb +4 -1
- data/lib/doing/item.rb +176 -0
- data/lib/doing/log_adapter.rb +1 -1
- data/lib/doing/numeric_chronify.rb +40 -0
- data/lib/doing/plugins/export/dayone_export.rb +1 -1
- data/lib/doing/plugins/export/json_export.rb +2 -2
- data/lib/doing/plugins/export/template_export.rb +47 -90
- data/lib/doing/plugins/import/calendar_import.rb +13 -1
- data/lib/doing/plugins/import/doing_import.rb +12 -1
- data/lib/doing/plugins/import/timing_import.rb +13 -1
- data/lib/doing/prompt.rb +54 -1
- data/lib/doing/string.rb +97 -33
- data/lib/doing/string_chronify.rb +112 -14
- data/lib/doing/template_string.rb +1 -1
- data/lib/doing/time.rb +6 -6
- data/lib/doing/util_backup.rb +1 -1
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +128 -103
- data/lib/doing.rb +36 -31
- data/lib/examples/plugins/say_export.rb +1 -4
- 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.
|
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
|
-
|
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
|
-
|
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
|
-
=====
|
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
|
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
|
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
|
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
|
|