doing 2.1.11 → 2.1.15
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 +15 -13
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/CHANGELOG.md +44 -1
- data/Gemfile.lock +9 -2
- data/README.md +56 -19
- data/bin/doing +215 -76
- 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 +35 -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 +180 -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 +767 -115
- 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 +407 -279
- data/docs/doc/top-level-namespace.html +2 -2
- data/docs/index.md +56 -19
- data/doing.gemspec +2 -0
- data/doing.rdoc +244 -45
- 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 +35 -6
- 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 +13 -1
- data/lib/doing/string.rb +97 -33
- data/lib/doing/string_chronify.rb +83 -13
- 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 +88 -93
- data/lib/doing.rb +31 -27
- 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.15
|
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,7 +522,7 @@ 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
|
@@ -528,7 +557,7 @@ Section
|
|
528
557
|
[Default Value] None
|
529
558
|
|
530
559
|
|
531
|
-
===== -t|--took INTERVAL
|
560
|
+
===== -t|--took|--for INTERVAL
|
532
561
|
|
533
562
|
Set completion date to start date plus interval (XX[mhd] or HH:MM).
|
534
563
|
If used without the --back option, the start date will be moved back to allow
|
@@ -542,6 +571,11 @@ Immediately archive the entry
|
|
542
571
|
|
543
572
|
|
544
573
|
|
574
|
+
===== --ask
|
575
|
+
Prompt for note via multi-line input
|
576
|
+
|
577
|
+
|
578
|
+
|
545
579
|
===== --[no-]date
|
546
580
|
Include date
|
547
581
|
|
@@ -583,7 +617,7 @@ Backdate completed date to date string [4pm|20m|2h|yesterday noon]
|
|
583
617
|
|
584
618
|
===== --bool BOOLEAN
|
585
619
|
|
586
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
620
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
587
621
|
|
588
622
|
[Default Value] PATTERN
|
589
623
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -611,7 +645,7 @@ Finish the last X entries matching search filter, surround with slashes for rege
|
|
611
645
|
[Default Value] None
|
612
646
|
|
613
647
|
|
614
|
-
===== -t|--took INTERVAL
|
648
|
+
===== -t|--took|--for INTERVAL
|
615
649
|
|
616
650
|
Set the completed date to the start date plus XX[hmd]
|
617
651
|
|
@@ -626,6 +660,14 @@ Finish the last X entries containing TAG.
|
|
626
660
|
[Default Value] None
|
627
661
|
|
628
662
|
|
663
|
+
===== --val QUERY
|
664
|
+
|
665
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
666
|
+
|
667
|
+
[Default Value] None
|
668
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
669
|
+
|
670
|
+
|
629
671
|
===== -a|--archive
|
630
672
|
Archive entries
|
631
673
|
|
@@ -677,18 +719,26 @@ To search with regular expressions, single quote the string and surround with sl
|
|
677
719
|
===== Options
|
678
720
|
===== --after DATE_STRING
|
679
721
|
|
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
|
722
|
+
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
723
|
|
682
724
|
[Default Value] None
|
683
725
|
|
684
726
|
|
685
727
|
===== --before DATE_STRING
|
686
728
|
|
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
|
729
|
+
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
730
|
|
689
731
|
[Default Value] None
|
690
732
|
|
691
733
|
|
734
|
+
===== --bool arg
|
735
|
+
|
736
|
+
Combine multiple tags or value queries using AND, OR, or NOT
|
737
|
+
|
738
|
+
[Default Value] AND
|
739
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
740
|
+
|
741
|
+
|
692
742
|
===== --case TYPE
|
693
743
|
|
694
744
|
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
@@ -731,11 +781,29 @@ Sort tags by (name|time)
|
|
731
781
|
[Must Match] (?i-mx:^(?:name|time)$)
|
732
782
|
|
733
783
|
|
784
|
+
===== --val QUERY
|
785
|
+
|
786
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
787
|
+
|
788
|
+
[Default Value] None
|
789
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
790
|
+
|
791
|
+
|
792
|
+
===== -d|--delete
|
793
|
+
Delete matching entries
|
794
|
+
|
795
|
+
|
796
|
+
|
734
797
|
===== --[no-]duration
|
735
798
|
Show elapsed time on entries without @done tag
|
736
799
|
|
737
800
|
|
738
801
|
|
802
|
+
===== -e|--editor
|
803
|
+
Edit matching entries with vim
|
804
|
+
|
805
|
+
|
806
|
+
|
739
807
|
===== -i|--interactive
|
740
808
|
Display an interactive menu of results to perform further operations
|
741
809
|
|
@@ -833,7 +901,7 @@ Only import items matching search. Surround with slashes for regex (/query/), st
|
|
833
901
|
[Default Value] None
|
834
902
|
|
835
903
|
|
836
|
-
=====
|
904
|
+
===== -t|--tag TAGS
|
837
905
|
|
838
906
|
Tag all imported entries
|
839
907
|
|
@@ -880,7 +948,7 @@ allowing `doing last` to target historical entries.
|
|
880
948
|
===== Options
|
881
949
|
===== --bool BOOLEAN
|
882
950
|
|
883
|
-
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
|
951
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
|
884
952
|
|
885
953
|
[Default Value] PATTERN
|
886
954
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -910,9 +978,22 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
910
978
|
|
911
979
|
===== --tag TAG
|
912
980
|
|
913
|
-
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
|
981
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
|
982
|
+
|
983
|
+
[Default Value] None
|
984
|
+
|
985
|
+
|
986
|
+
===== --val QUERY
|
987
|
+
|
988
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
914
989
|
|
915
990
|
[Default Value] None
|
991
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
992
|
+
|
993
|
+
|
994
|
+
===== -d|--delete
|
995
|
+
Delete the last entry
|
996
|
+
|
916
997
|
|
917
998
|
|
918
999
|
===== --[no-]duration
|
@@ -954,6 +1035,11 @@ Note
|
|
954
1035
|
[Default Value] None
|
955
1036
|
|
956
1037
|
|
1038
|
+
===== --ask
|
1039
|
+
Prompt for note via multi-line input
|
1040
|
+
|
1041
|
+
|
1042
|
+
|
957
1043
|
===== -e|--editor
|
958
1044
|
Edit entry with vim
|
959
1045
|
|
@@ -966,7 +1052,7 @@ Mark last entry as flagged
|
|
966
1052
|
===== Options
|
967
1053
|
===== --bool BOOLEAN
|
968
1054
|
|
969
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
1055
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
970
1056
|
|
971
1057
|
[Default Value] PATTERN
|
972
1058
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1010,6 +1096,14 @@ Flag the last entry containing TAG.
|
|
1010
1096
|
[Default Value] None
|
1011
1097
|
|
1012
1098
|
|
1099
|
+
===== --val QUERY
|
1100
|
+
|
1101
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1102
|
+
|
1103
|
+
[Default Value] None
|
1104
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1105
|
+
|
1106
|
+
|
1013
1107
|
===== -d|--date
|
1014
1108
|
Include current date/time with tag
|
1015
1109
|
|
@@ -1079,6 +1173,11 @@ Archive previous @meanwhile entry
|
|
1079
1173
|
|
1080
1174
|
|
1081
1175
|
|
1176
|
+
===== --ask
|
1177
|
+
Prompt for note via multi-line input
|
1178
|
+
|
1179
|
+
|
1180
|
+
|
1082
1181
|
===== -e|--editor
|
1083
1182
|
Edit entry with vim
|
1084
1183
|
|
@@ -1095,7 +1194,7 @@ If -r is provided with no other arguments, the last note is removed.
|
|
1095
1194
|
===== Options
|
1096
1195
|
===== --bool BOOLEAN
|
1097
1196
|
|
1098
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
1197
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
1099
1198
|
|
1100
1199
|
[Default Value] PATTERN
|
1101
1200
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1125,11 +1224,24 @@ Add/remove note from last entry matching search filter, surround with slashes fo
|
|
1125
1224
|
|
1126
1225
|
===== --tag TAG
|
1127
1226
|
|
1128
|
-
Add/remove note from last entry matching tag. Wildcards allowed (*, ?)
|
1227
|
+
Add/remove note from last entry matching tag. Wildcards allowed (*, ?)
|
1129
1228
|
|
1130
1229
|
[Default Value] None
|
1131
1230
|
|
1132
1231
|
|
1232
|
+
===== --val QUERY
|
1233
|
+
|
1234
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1235
|
+
|
1236
|
+
[Default Value] None
|
1237
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1238
|
+
|
1239
|
+
|
1240
|
+
===== --ask
|
1241
|
+
Prompt for note via multi-line input
|
1242
|
+
|
1243
|
+
|
1244
|
+
|
1133
1245
|
===== -e|--editor
|
1134
1246
|
Edit entry with vim
|
1135
1247
|
|
@@ -1185,6 +1297,11 @@ Section
|
|
1185
1297
|
[Default Value] None
|
1186
1298
|
|
1187
1299
|
|
1300
|
+
===== --ask
|
1301
|
+
Prompt for note via multi-line input
|
1302
|
+
|
1303
|
+
|
1304
|
+
|
1188
1305
|
===== -e|--editor
|
1189
1306
|
Edit entry with vim
|
1190
1307
|
|
@@ -1337,7 +1454,7 @@ If a date string is provided as an argument, the start time will be set to the p
|
|
1337
1454
|
===== Options
|
1338
1455
|
===== --bool BOOLEAN
|
1339
1456
|
|
1340
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
1457
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
1341
1458
|
|
1342
1459
|
[Default Value] PATTERN
|
1343
1460
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1367,11 +1484,19 @@ Reset last entry matching search filter, surround with slashes for regex (e.g. "
|
|
1367
1484
|
|
1368
1485
|
===== --tag TAG
|
1369
1486
|
|
1370
|
-
Reset last entry matching tag. Wildcards allowed (*, ?)
|
1487
|
+
Reset last entry matching tag. Wildcards allowed (*, ?)
|
1371
1488
|
|
1372
1489
|
[Default Value] None
|
1373
1490
|
|
1374
1491
|
|
1492
|
+
===== --val QUERY
|
1493
|
+
|
1494
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1495
|
+
|
1496
|
+
[Default Value] None
|
1497
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1498
|
+
|
1499
|
+
|
1375
1500
|
===== -i|--interactive
|
1376
1501
|
Select from a menu of matching entries
|
1377
1502
|
|
@@ -1409,7 +1534,7 @@ Rotate entries older than date
|
|
1409
1534
|
|
1410
1535
|
===== --bool BOOLEAN
|
1411
1536
|
|
1412
|
-
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
|
1537
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans
|
1413
1538
|
|
1414
1539
|
[Default Value] PATTERN
|
1415
1540
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1447,9 +1572,17 @@ Search filter
|
|
1447
1572
|
|
1448
1573
|
===== --tag TAG
|
1449
1574
|
|
1450
|
-
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands
|
1575
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands
|
1576
|
+
|
1577
|
+
[Default Value] None
|
1578
|
+
|
1579
|
+
|
1580
|
+
===== --val QUERY
|
1581
|
+
|
1582
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1451
1583
|
|
1452
1584
|
[Default Value] None
|
1585
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1453
1586
|
|
1454
1587
|
|
1455
1588
|
===== --not
|
@@ -1483,7 +1616,7 @@ selected entries.
|
|
1483
1616
|
|
1484
1617
|
Search in the menu by typing:
|
1485
1618
|
|
1486
|
-
sbtrkt fuzzy-match Items that match
|
1619
|
+
sbtrkt fuzzy-match Items that match s*b*t*r*k*t
|
1487
1620
|
|
1488
1621
|
'wild exact-match (quoted) Items that include wild
|
1489
1622
|
|
@@ -1491,14 +1624,14 @@ sbtrkt fuzzy-match Items that match sbtrkt
|
|
1491
1624
|
===== Options
|
1492
1625
|
===== --after DATE_STRING
|
1493
1626
|
|
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
|
1627
|
+
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
1628
|
|
1496
1629
|
[Default Value] None
|
1497
1630
|
|
1498
1631
|
|
1499
1632
|
===== --before DATE_STRING
|
1500
1633
|
|
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
|
1634
|
+
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
1635
|
|
1503
1636
|
[Default Value] None
|
1504
1637
|
|
@@ -1537,7 +1670,7 @@ Output entries to format (csv|dayone|dayone-days|dayone-entries|doing|html|json|
|
|
1537
1670
|
[Default Value] None
|
1538
1671
|
|
1539
1672
|
|
1540
|
-
===== -q|--query
|
1673
|
+
===== -q|--query QUERY
|
1541
1674
|
|
1542
1675
|
Initial search query for filtering. Matching is fuzzy. For exact matching, start query with a single quote, e.g. `--query "'search"
|
1543
1676
|
|
@@ -1558,6 +1691,13 @@ Save selected entries to file using --output format
|
|
1558
1691
|
[Default Value] None
|
1559
1692
|
|
1560
1693
|
|
1694
|
+
===== --search QUERY
|
1695
|
+
|
1696
|
+
Select from entries matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query")
|
1697
|
+
|
1698
|
+
[Default Value] None
|
1699
|
+
|
1700
|
+
|
1561
1701
|
===== -t|--tag TAG
|
1562
1702
|
|
1563
1703
|
Tag selected entries
|
@@ -1565,6 +1705,14 @@ Tag selected entries
|
|
1565
1705
|
[Default Value] None
|
1566
1706
|
|
1567
1707
|
|
1708
|
+
===== --val QUERY
|
1709
|
+
|
1710
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1711
|
+
|
1712
|
+
[Default Value] None
|
1713
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1714
|
+
|
1715
|
+
|
1568
1716
|
===== -a|--archive
|
1569
1717
|
Archive selected items
|
1570
1718
|
|
@@ -1601,12 +1749,12 @@ Add flag to selected item(s)
|
|
1601
1749
|
|
1602
1750
|
|
1603
1751
|
===== --force
|
1604
|
-
Perform action without confirmation
|
1752
|
+
Perform action without confirmation
|
1605
1753
|
|
1606
1754
|
|
1607
1755
|
|
1608
1756
|
===== --[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
|
1757
|
+
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
1758
|
|
1611
1759
|
|
1612
1760
|
|
@@ -1644,14 +1792,14 @@ Age (oldest|newest)
|
|
1644
1792
|
|
1645
1793
|
===== --after DATE_STRING
|
1646
1794
|
|
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
|
1795
|
+
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
1796
|
|
1649
1797
|
[Default Value] None
|
1650
1798
|
|
1651
1799
|
|
1652
1800
|
===== -b|--bool BOOLEAN
|
1653
1801
|
|
1654
|
-
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans
|
1802
|
+
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans
|
1655
1803
|
|
1656
1804
|
[Default Value] PATTERN
|
1657
1805
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1659,7 +1807,7 @@ Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
|
|
1659
1807
|
|
1660
1808
|
===== --before DATE_STRING
|
1661
1809
|
|
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
|
1810
|
+
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
1811
|
|
1664
1812
|
[Default Value] None
|
1665
1813
|
|
@@ -1716,7 +1864,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
1716
1864
|
|
1717
1865
|
===== --tag TAG
|
1718
1866
|
|
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
|
1867
|
+
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
1868
|
|
1721
1869
|
[Default Value] None
|
1722
1870
|
|
@@ -1737,6 +1885,14 @@ Sort tags by (name|time)
|
|
1737
1885
|
[Must Match] (?i-mx:^(?:name|time))
|
1738
1886
|
|
1739
1887
|
|
1888
|
+
===== --val QUERY
|
1889
|
+
|
1890
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1891
|
+
|
1892
|
+
[Default Value] None
|
1893
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1894
|
+
|
1895
|
+
|
1740
1896
|
===== --[no-]duration
|
1741
1897
|
Show elapsed time on entries without @done tag
|
1742
1898
|
|
@@ -1839,7 +1995,7 @@ Add (or remove) tags from the last entry, or from multiple entries
|
|
1839
1995
|
===== Options
|
1840
1996
|
===== --bool BOOLEAN
|
1841
1997
|
|
1842
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
1998
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans
|
1843
1999
|
|
1844
2000
|
[Default Value] PATTERN
|
1845
2001
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1890,6 +2046,21 @@ Tag the last X entries containing TAG.
|
|
1890
2046
|
[Default Value] None
|
1891
2047
|
|
1892
2048
|
|
2049
|
+
===== -v|--value VALUE
|
2050
|
+
|
2051
|
+
Include a value, e.g. @tag(value)
|
2052
|
+
|
2053
|
+
[Default Value] None
|
2054
|
+
|
2055
|
+
|
2056
|
+
===== --val QUERY
|
2057
|
+
|
2058
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
2059
|
+
|
2060
|
+
[Default Value] None
|
2061
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
2062
|
+
|
2063
|
+
|
1893
2064
|
===== -a|--autotag
|
1894
2065
|
Autotag entries based on autotag configuration in ~/.config/doing/config.yml
|
1895
2066
|
|
@@ -1935,6 +2106,18 @@ Force exact search string matching (case sensitive)
|
|
1935
2106
|
|
1936
2107
|
|
1937
2108
|
|
2109
|
+
==== Command: <tt>tag_dir TAG [TAG..]</tt>
|
2110
|
+
Set the default tags for the current directory
|
2111
|
+
|
2112
|
+
Adds default_tags to a .doingrc file in the current directory. Any entry created in this directory or its
|
2113
|
+
subdirectories will be tagged with the default tags. You can modify these any time using the `config set` commnand or
|
2114
|
+
manually editing the .doingrc file.
|
2115
|
+
===== Options
|
2116
|
+
===== -r|--remove
|
2117
|
+
Remove all default_tags from the local .doingrc
|
2118
|
+
|
2119
|
+
|
2120
|
+
|
1938
2121
|
==== Command: <tt>tags </tt>
|
1939
2122
|
List all tags in the current Doing file
|
1940
2123
|
|
@@ -1942,7 +2125,7 @@ List all tags in the current Doing file
|
|
1942
2125
|
===== Options
|
1943
2126
|
===== --bool BOOLEAN
|
1944
2127
|
|
1945
|
-
Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
|
2128
|
+
Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
|
1946
2129
|
|
1947
2130
|
[Default Value] PATTERN
|
1948
2131
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -1989,9 +2172,17 @@ Sort by name or count
|
|
1989
2172
|
|
1990
2173
|
===== --tag TAG
|
1991
2174
|
|
1992
|
-
Get tags for entries matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?)
|
2175
|
+
Get tags for entries matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?)
|
2176
|
+
|
2177
|
+
[Default Value] None
|
2178
|
+
|
2179
|
+
|
2180
|
+
===== --val QUERY
|
2181
|
+
|
2182
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
1993
2183
|
|
1994
2184
|
[Default Value] None
|
2185
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
1995
2186
|
|
1996
2187
|
|
1997
2188
|
===== -c|--[no-]counts
|
@@ -2138,7 +2329,7 @@ Select from recent backups
|
|
2138
2329
|
|
2139
2330
|
|
2140
2331
|
===== -r|--[no-]redo
|
2141
|
-
Redo last undo. Note: you cannot undo a redo
|
2332
|
+
Redo last undo. Note: you cannot undo a redo
|
2142
2333
|
|
2143
2334
|
|
2144
2335
|
|
@@ -2150,7 +2341,7 @@ Command line options override view configuration.
|
|
2150
2341
|
===== Options
|
2151
2342
|
===== --after DATE_STRING
|
2152
2343
|
|
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
|
2344
|
+
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
2345
|
|
2155
2346
|
[Default Value] None
|
2156
2347
|
|
@@ -2164,7 +2355,7 @@ Age (oldest|newest)
|
|
2164
2355
|
|
2165
2356
|
===== -b|--bool BOOLEAN
|
2166
2357
|
|
2167
|
-
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans
|
2358
|
+
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans
|
2168
2359
|
|
2169
2360
|
[Default Value] PATTERN
|
2170
2361
|
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
@@ -2172,7 +2363,7 @@ Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
|
|
2172
2363
|
|
2173
2364
|
===== --before DATE_STRING
|
2174
2365
|
|
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
|
2366
|
+
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
2367
|
|
2177
2368
|
[Default Value] None
|
2178
2369
|
|
@@ -2228,7 +2419,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
2228
2419
|
|
2229
2420
|
===== --tag TAG
|
2230
2421
|
|
2231
|
-
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
|
2422
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
|
2232
2423
|
|
2233
2424
|
[Default Value] None
|
2234
2425
|
|
@@ -2249,6 +2440,14 @@ Sort tags by (name|time)
|
|
2249
2440
|
[Must Match] (?i-mx:^(?:name|time)$)
|
2250
2441
|
|
2251
2442
|
|
2443
|
+
===== --val QUERY
|
2444
|
+
|
2445
|
+
Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
|
2446
|
+
|
2447
|
+
[Default Value] None
|
2448
|
+
[Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
|
2449
|
+
|
2450
|
+
|
2252
2451
|
===== --[no-]color
|
2253
2452
|
Include colors in output
|
2254
2453
|
|
data/example_plugin.rb
CHANGED
@@ -152,11 +152,9 @@ module Doing
|
|
152
152
|
finished_at = i.end_date
|
153
153
|
took += finished_at.strftime('%A %B %e at %I:%M%p')
|
154
154
|
|
155
|
-
|
155
|
+
|
156
156
|
took += ' and it took'
|
157
|
-
took +=
|
158
|
-
took += " #{h.to_i} hours" if h.to_i.positive?
|
159
|
-
took += " #{m.to_i} minutes" if m.to_i.positive?
|
157
|
+
took += interval.time_string(format: :natural)
|
160
158
|
end
|
161
159
|
end
|
162
160
|
|