doing 2.1.11 → 2.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.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
|
|