doing 2.1.2pre → 2.1.6pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardoc/checksums +19 -15
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardopts +1 -1
- data/CHANGELOG.md +62 -14
- data/Gemfile.lock +25 -1
- data/README.md +5 -1
- data/Rakefile +2 -0
- data/bin/doing +429 -142
- data/docs/_config.yml +1 -0
- data/{doc → docs/doc}/Array.html +63 -1
- data/docs/doc/BooleanTermParser/Clause.html +293 -0
- data/docs/doc/BooleanTermParser/Operator.html +172 -0
- data/docs/doc/BooleanTermParser/Query.html +417 -0
- data/docs/doc/BooleanTermParser/QueryParser.html +135 -0
- data/docs/doc/BooleanTermParser/QueryTransformer.html +124 -0
- data/docs/doc/BooleanTermParser.html +115 -0
- data/docs/doc/Doing/CLIFormat.html +131 -0
- data/{doc → docs/doc}/Doing/Color.html +2 -2
- data/{doc → docs/doc}/Doing/Completion.html +1 -1
- data/{doc → docs/doc}/Doing/Configuration.html +163 -69
- data/{doc → docs/doc}/Doing/Content.html +0 -0
- data/{doc → docs/doc}/Doing/Errors/DoingNoTraceError.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/DoingRuntimeError.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/DoingStandardError.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/EmptyInput.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/NoResults.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/PluginException.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/UserCancelled.html +1 -1
- data/{doc → docs/doc}/Doing/Errors/WrongCommand.html +1 -1
- data/{doc → docs/doc}/Doing/Errors.html +1 -1
- data/{doc → docs/doc}/Doing/Hooks.html +1 -1
- data/{doc → docs/doc}/Doing/Item.html +135 -89
- data/{doc → docs/doc}/Doing/Items.html +36 -2
- data/{doc → docs/doc}/Doing/LogAdapter.html +70 -1
- data/{doc → docs/doc}/Doing/Note.html +5 -134
- data/{doc → docs/doc}/Doing/Pager.html +1 -1
- data/{doc → docs/doc}/Doing/Plugins.html +431 -35
- data/{doc → docs/doc}/Doing/Prompt.html +70 -18
- data/{doc → docs/doc}/Doing/Section.html +1 -1
- data/docs/doc/Doing/TemplateString.html +713 -0
- data/docs/doc/Doing/Util/Backup.html +686 -0
- data/{doc → docs/doc}/Doing/Util.html +16 -4
- data/{doc → docs/doc}/Doing/WWID.html +133 -73
- data/{doc → docs/doc}/Doing/WWIDFile.html +0 -0
- data/{doc → docs/doc}/Doing.html +4 -4
- data/{doc → docs/doc}/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/{doc → docs/doc}/GLI/Commands.html +1 -1
- data/{doc → docs/doc}/GLI.html +1 -1
- data/{doc → docs/doc}/Hash.html +1 -1
- data/docs/doc/PhraseParser/Operator.html +172 -0
- data/docs/doc/PhraseParser/PhraseClause.html +303 -0
- data/docs/doc/PhraseParser/Query.html +495 -0
- data/docs/doc/PhraseParser/QueryParser.html +136 -0
- data/docs/doc/PhraseParser/QueryTransformer.html +124 -0
- data/docs/doc/PhraseParser/TermClause.html +293 -0
- data/docs/doc/PhraseParser.html +115 -0
- data/{doc → docs/doc}/Status.html +1 -1
- data/{doc → docs/doc}/String.html +319 -13
- data/{doc → docs/doc}/Symbol.html +35 -1
- data/{doc → docs/doc}/Time.html +70 -2
- data/{doc → docs/doc}/_index.html +132 -4
- data/docs/doc/class_list.html +51 -0
- data/{doc → docs/doc}/css/common.css +0 -0
- data/{doc → docs/doc}/css/full_list.css +0 -0
- data/{doc → docs/doc}/css/style.css +0 -0
- data/{doc → docs/doc}/file.README.html +6 -2
- data/{doc → docs/doc}/file_list.html +0 -0
- data/{doc → docs/doc}/frames.html +0 -0
- data/{doc → docs/doc}/index.html +6 -2
- data/{doc → docs/doc}/js/app.js +0 -0
- data/{doc → docs/doc}/js/full_list.js +0 -0
- data/{doc → docs/doc}/js/jquery.js +0 -0
- data/{doc → docs/doc}/method_list.html +684 -196
- data/{doc → docs/doc}/top-level-namespace.html +2 -2
- data/docs/index.md +60 -0
- data/doing.gemspec +3 -0
- data/doing.rdoc +222 -74
- data/example_plugin.rb +3 -1
- data/lib/completion/_doing.zsh +53 -41
- data/lib/completion/doing.bash +17 -6
- data/lib/completion/doing.fish +321 -2
- data/lib/doing/array.rb +9 -0
- data/lib/doing/boolean_term_parser.rb +86 -0
- data/lib/doing/completion/fish_completion.rb +46 -3
- data/lib/doing/completion/zsh_completion.rb +1 -1
- data/lib/doing/configuration.rb +48 -21
- data/lib/doing/item.rb +105 -10
- data/lib/doing/items.rb +6 -0
- data/lib/doing/log_adapter.rb +28 -0
- data/lib/doing/note.rb +31 -30
- data/lib/doing/phrase_parser.rb +124 -0
- data/lib/doing/plugin_manager.rb +84 -21
- data/lib/doing/plugins/export/dayone_export.rb +209 -0
- data/lib/doing/plugins/export/html_export.rb +2 -2
- data/lib/doing/plugins/export/json_export.rb +1 -0
- data/lib/doing/plugins/export/markdown_export.rb +1 -1
- data/lib/doing/plugins/export/template_export.rb +94 -86
- data/lib/doing/prompt.rb +26 -15
- data/lib/doing/string.rb +114 -29
- data/lib/doing/string_chronify.rb +5 -1
- data/lib/doing/symbol.rb +4 -0
- data/lib/doing/template_string.rb +197 -0
- data/lib/doing/time.rb +32 -0
- data/lib/doing/util.rb +6 -7
- data/lib/doing/util_backup.rb +287 -0
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +105 -41
- data/lib/doing.rb +9 -0
- data/lib/examples/plugins/say_export.rb +1 -1
- data/lib/examples/plugins/wiki_export/wiki_export.rb +3 -3
- data/lib/templates/doing-dayone-entry.erb +6 -0
- data/lib/templates/doing-dayone.erb +5 -0
- metadata +136 -51
- data/doc/class_list.html +0 -51
data/doing.rdoc
CHANGED
|
@@ -5,7 +5,7 @@ record of what you've been doing, complete with tag-based time tracking. The
|
|
|
5
5
|
command line tool allows you to add entries, annotate with tags and notes, and
|
|
6
6
|
view your entries with myriad options, with a focus on a "natural" language syntax.
|
|
7
7
|
|
|
8
|
-
v2.1.
|
|
8
|
+
v2.1.6pre
|
|
9
9
|
|
|
10
10
|
=== Global Options
|
|
11
11
|
=== --config_file arg
|
|
@@ -90,14 +90,14 @@ Add a new section to the "doing" file
|
|
|
90
90
|
==== Command: <tt>again|resume </tt>
|
|
91
91
|
Repeat last entry as new entry
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
This command is designed to allow multiple time intervals to be created for an entry by duplicating it with a new start (and end, eventually) time.
|
|
94
94
|
===== Options
|
|
95
95
|
===== --bool BOOLEAN
|
|
96
96
|
|
|
97
|
-
Boolean used to combine multiple tags
|
|
97
|
+
Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans.
|
|
98
98
|
|
|
99
|
-
[Default Value]
|
|
100
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
99
|
+
[Default Value] PATTERN
|
|
100
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
===== --case TYPE
|
|
@@ -139,7 +139,7 @@ Repeat last entry matching search. Surround with
|
|
|
139
139
|
|
|
140
140
|
===== --tag TAG
|
|
141
141
|
|
|
142
|
-
Repeat last entry matching tags. Combine multiple tags with a comma.
|
|
142
|
+
Repeat last entry matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?).
|
|
143
143
|
|
|
144
144
|
[Default Value] None
|
|
145
145
|
|
|
@@ -182,10 +182,10 @@ Archive entries older than date
|
|
|
182
182
|
|
|
183
183
|
===== --bool BOOLEAN
|
|
184
184
|
|
|
185
|
-
Tag boolean (AND|OR|NOT)
|
|
185
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
|
|
186
186
|
|
|
187
|
-
[Default Value]
|
|
188
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
187
|
+
[Default Value] PATTERN
|
|
188
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
===== --case TYPE
|
|
@@ -220,7 +220,7 @@ Move entries to
|
|
|
220
220
|
|
|
221
221
|
===== --tag TAG
|
|
222
222
|
|
|
223
|
-
Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
|
|
223
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands.
|
|
224
224
|
|
|
225
225
|
[Default Value] None
|
|
226
226
|
|
|
@@ -250,7 +250,7 @@ Autotag last entry or filtered entries
|
|
|
250
250
|
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
251
251
|
|
|
252
252
|
[Default Value] AND
|
|
253
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
253
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
254
254
|
|
|
255
255
|
|
|
256
256
|
===== -c|--count COUNT
|
|
@@ -307,10 +307,10 @@ Adds @done tag without datestamp so no elapsed time is recorded. Alias for `doin
|
|
|
307
307
|
===== Options
|
|
308
308
|
===== --bool BOOLEAN
|
|
309
309
|
|
|
310
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
310
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
|
311
311
|
|
|
312
|
-
[Default Value]
|
|
313
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
312
|
+
[Default Value] PATTERN
|
|
313
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
314
314
|
|
|
315
315
|
|
|
316
316
|
===== --case TYPE
|
|
@@ -337,7 +337,7 @@ Cancel the last X entries matching search filter, surround with slashes for rege
|
|
|
337
337
|
|
|
338
338
|
===== --tag TAG
|
|
339
339
|
|
|
340
|
-
Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2)
|
|
340
|
+
Cancel the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2). Wildcards allowed (*, ?).
|
|
341
341
|
|
|
342
342
|
[Default Value] None
|
|
343
343
|
|
|
@@ -367,6 +367,10 @@ Force exact search string matching (case sensitive)
|
|
|
367
367
|
|
|
368
368
|
|
|
369
369
|
|
|
370
|
+
==== Command: <tt>changelog|changes </tt>
|
|
371
|
+
List recent changes in Doing
|
|
372
|
+
|
|
373
|
+
Display a formatted list of changes in recent versions, latest at the top
|
|
370
374
|
==== Command: <tt>choose </tt>
|
|
371
375
|
Select a section to display from a menu
|
|
372
376
|
|
|
@@ -378,7 +382,8 @@ List available color variables for configuration templates and views
|
|
|
378
382
|
==== Command: <tt>completion </tt>
|
|
379
383
|
Generate shell completion scripts
|
|
380
384
|
|
|
381
|
-
|
|
385
|
+
Generates the necessary scripts to add command line completion to various shells, so typing 'doing' and hitting
|
|
386
|
+
tab will offer completions of subcommands and their options.
|
|
382
387
|
===== Options
|
|
383
388
|
===== -f|--file PATH
|
|
384
389
|
|
|
@@ -490,7 +495,9 @@ Update default config file, adding any missing keys
|
|
|
490
495
|
==== Command: <tt>done|did ENTRY</tt>
|
|
491
496
|
Add a completed item with @done(date). No argument finishes last entry.
|
|
492
497
|
|
|
493
|
-
|
|
498
|
+
Use this command to add an entry after you've already finished it. It will be immediately marked as @done.
|
|
499
|
+
You can modify the start and end times of the entry using the --back, --took, and --at flags, making it an easy
|
|
500
|
+
way to add entries in post and maintain accurate (albeit manual) time tracking.
|
|
494
501
|
===== Options
|
|
495
502
|
===== --at DATE_STRING
|
|
496
503
|
|
|
@@ -576,10 +583,10 @@ Backdate completed date to date string [4pm|20m|2h|yesterday noon]
|
|
|
576
583
|
|
|
577
584
|
===== --bool BOOLEAN
|
|
578
585
|
|
|
579
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
586
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
|
580
587
|
|
|
581
|
-
[Default Value]
|
|
582
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
588
|
+
[Default Value] PATTERN
|
|
589
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
583
590
|
|
|
584
591
|
|
|
585
592
|
===== --case TYPE
|
|
@@ -614,7 +621,7 @@ Set the completed date to the start date plus XX[hmd]
|
|
|
614
621
|
===== --tag TAG
|
|
615
622
|
|
|
616
623
|
Finish the last X entries containing TAG.
|
|
617
|
-
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
|
|
624
|
+
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool. Wildcards allowed (*, ?).
|
|
618
625
|
|
|
619
626
|
[Default Value] None
|
|
620
627
|
|
|
@@ -666,7 +673,7 @@ Search for entries
|
|
|
666
673
|
|
|
667
674
|
Search all sections (or limit to a single section) for entries matching text or regular expression. Normal strings are fuzzy matched.
|
|
668
675
|
|
|
669
|
-
To search with regular expressions, single quote the string and surround with slashes: `doing search '
|
|
676
|
+
To search with regular expressions, single quote the string and surround with slashes: `doing search '/m.*?x/'`
|
|
670
677
|
===== Options
|
|
671
678
|
===== --after DATE_STRING
|
|
672
679
|
|
|
@@ -704,7 +711,7 @@ Date range to show, or a single day to filter date on.
|
|
|
704
711
|
|
|
705
712
|
===== -o|--output FORMAT
|
|
706
713
|
|
|
707
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
714
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
708
715
|
|
|
709
716
|
[Default Value] None
|
|
710
717
|
|
|
@@ -868,14 +875,15 @@ Force exact search string matching (case sensitive)
|
|
|
868
875
|
==== Command: <tt>last </tt>
|
|
869
876
|
Show the last entry, optionally edit
|
|
870
877
|
|
|
871
|
-
|
|
878
|
+
Shows the last entry. Using --search and --tag filters, you can view/edit the last entry matching a filter,
|
|
879
|
+
allowing `doing last` to target historical entries.
|
|
872
880
|
===== Options
|
|
873
881
|
===== --bool BOOLEAN
|
|
874
882
|
|
|
875
|
-
Tag boolean
|
|
883
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
|
|
876
884
|
|
|
877
|
-
[Default Value]
|
|
878
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
885
|
+
[Default Value] PATTERN
|
|
886
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
879
887
|
|
|
880
888
|
|
|
881
889
|
===== --case TYPE
|
|
@@ -902,7 +910,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
|
902
910
|
|
|
903
911
|
===== --tag TAG
|
|
904
912
|
|
|
905
|
-
Tag filter, combine multiple tags with a comma.
|
|
913
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?).
|
|
906
914
|
|
|
907
915
|
[Default Value] None
|
|
908
916
|
|
|
@@ -958,10 +966,10 @@ Mark last entry as flagged
|
|
|
958
966
|
===== Options
|
|
959
967
|
===== --bool BOOLEAN
|
|
960
968
|
|
|
961
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
969
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
|
962
970
|
|
|
963
|
-
[Default Value]
|
|
964
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
971
|
+
[Default Value] PATTERN
|
|
972
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
965
973
|
|
|
966
974
|
|
|
967
975
|
===== -c|--count COUNT
|
|
@@ -997,7 +1005,7 @@ Flag the last entry matching search filter, surround with slashes for regex (e.g
|
|
|
997
1005
|
===== --tag TAG
|
|
998
1006
|
|
|
999
1007
|
Flag the last entry containing TAG.
|
|
1000
|
-
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
|
|
1008
|
+
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool. Wildcards allowed (*, ?).
|
|
1001
1009
|
|
|
1002
1010
|
[Default Value] None
|
|
1003
1011
|
|
|
@@ -1040,7 +1048,10 @@ Force exact search string matching (case sensitive)
|
|
|
1040
1048
|
==== Command: <tt>meanwhile ENTRY</tt>
|
|
1041
1049
|
Finish any running @meanwhile tasks and optionally create a new one
|
|
1042
1050
|
|
|
1043
|
-
|
|
1051
|
+
The @meanwhile tag allows you to have long-running entries that encompass smaller entries.
|
|
1052
|
+
This command makes it easy to start and stop these overarching entries. Just run `doing meanwhile Starting work on this
|
|
1053
|
+
big project` to start a @meanwhile entry, add other entries as you work on the project, then use `doing meanwhile` by
|
|
1054
|
+
itself to mark the entry as @done.
|
|
1044
1055
|
===== Options
|
|
1045
1056
|
===== -b|--back DATE_STRING
|
|
1046
1057
|
|
|
@@ -1084,10 +1095,10 @@ If -r is provided with no other arguments, the last note is removed.
|
|
|
1084
1095
|
===== Options
|
|
1085
1096
|
===== --bool BOOLEAN
|
|
1086
1097
|
|
|
1087
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
1098
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
|
1088
1099
|
|
|
1089
|
-
[Default Value]
|
|
1090
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
1100
|
+
[Default Value] PATTERN
|
|
1101
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
1091
1102
|
|
|
1092
1103
|
|
|
1093
1104
|
===== --case TYPE
|
|
@@ -1114,7 +1125,7 @@ Add/remove note from last entry matching search filter, surround with slashes fo
|
|
|
1114
1125
|
|
|
1115
1126
|
===== --tag TAG
|
|
1116
1127
|
|
|
1117
|
-
Add/remove note from last entry matching tag
|
|
1128
|
+
Add/remove note from last entry matching tag. Wildcards allowed (*, ?).
|
|
1118
1129
|
|
|
1119
1130
|
[Default Value] None
|
|
1120
1131
|
|
|
@@ -1193,7 +1204,7 @@ it will create a range.
|
|
|
1193
1204
|
===== Options
|
|
1194
1205
|
===== -o|--output FORMAT
|
|
1195
1206
|
|
|
1196
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
1207
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
1197
1208
|
|
|
1198
1209
|
[Default Value] None
|
|
1199
1210
|
|
|
@@ -1231,7 +1242,8 @@ Show time totals at the end of output
|
|
|
1231
1242
|
==== Command: <tt>open </tt>
|
|
1232
1243
|
Open the "doing" file in an editor
|
|
1233
1244
|
|
|
1234
|
-
`doing open` defaults to using the
|
|
1245
|
+
`doing open` defaults to using the editors->doing_file setting
|
|
1246
|
+
in /Users/ttscoff/.config/doing/config.yml (TaskPaper).
|
|
1235
1247
|
===== Options
|
|
1236
1248
|
===== -a|--app APP_NAME
|
|
1237
1249
|
|
|
@@ -1316,17 +1328,19 @@ Show intervals with totals at the end of output
|
|
|
1316
1328
|
|
|
1317
1329
|
|
|
1318
1330
|
|
|
1319
|
-
==== Command: <tt>reset|begin
|
|
1331
|
+
==== Command: <tt>reset|begin DATE_STRING</tt>
|
|
1320
1332
|
Reset the start time of an entry
|
|
1321
1333
|
|
|
1322
|
-
|
|
1334
|
+
Update the start time of the last entry or the last entry matching a tag/search filter.
|
|
1335
|
+
If no argument is provided, the start time will be reset to the current time.
|
|
1336
|
+
If a date string is provided as an argument, the start time will be set to the parsed result.
|
|
1323
1337
|
===== Options
|
|
1324
1338
|
===== --bool BOOLEAN
|
|
1325
1339
|
|
|
1326
1340
|
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
1327
1341
|
|
|
1328
|
-
[Default Value]
|
|
1329
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
1342
|
+
[Default Value] PATTERN
|
|
1343
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
1330
1344
|
|
|
1331
1345
|
|
|
1332
1346
|
===== --case TYPE
|
|
@@ -1353,7 +1367,7 @@ Reset last entry matching search filter, surround with slashes for regex (e.g. "
|
|
|
1353
1367
|
|
|
1354
1368
|
===== --tag TAG
|
|
1355
1369
|
|
|
1356
|
-
Reset last entry matching tag
|
|
1370
|
+
Reset last entry matching tag. Wildcards allowed (*, ?).
|
|
1357
1371
|
|
|
1358
1372
|
[Default Value] None
|
|
1359
1373
|
|
|
@@ -1381,7 +1395,9 @@ Force exact search string matching (case sensitive)
|
|
|
1381
1395
|
==== Command: <tt>rotate </tt>
|
|
1382
1396
|
Move entries to archive file
|
|
1383
1397
|
|
|
1384
|
-
|
|
1398
|
+
As your doing file grows, commands can get slow. Given that your historical data (and your archive section)
|
|
1399
|
+
probably aren't providing any useful insights a year later, use this command to "rotate" old entries out to an archive
|
|
1400
|
+
file. You'll still have access to all historical data, but it won't be slowing down daily operation.
|
|
1385
1401
|
===== Options
|
|
1386
1402
|
===== --before DATE_STRING
|
|
1387
1403
|
|
|
@@ -1393,10 +1409,10 @@ Rotate entries older than date
|
|
|
1393
1409
|
|
|
1394
1410
|
===== --bool BOOLEAN
|
|
1395
1411
|
|
|
1396
|
-
Tag boolean (AND|OR|NOT)
|
|
1412
|
+
Tag boolean (AND|OR|NOT). Use PATTERN to parse + and - as booleans.
|
|
1397
1413
|
|
|
1398
|
-
[Default Value]
|
|
1399
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
1414
|
+
[Default Value] PATTERN
|
|
1415
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
1400
1416
|
|
|
1401
1417
|
|
|
1402
1418
|
===== --case TYPE
|
|
@@ -1431,7 +1447,7 @@ Search filter
|
|
|
1431
1447
|
|
|
1432
1448
|
===== --tag TAG
|
|
1433
1449
|
|
|
1434
|
-
Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
|
|
1450
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?). Added for compatibility with other commands.
|
|
1435
1451
|
|
|
1436
1452
|
[Default Value] None
|
|
1437
1453
|
|
|
@@ -1464,6 +1480,14 @@ List all entries and select with typeahead fuzzy matching.
|
|
|
1464
1480
|
Multiple selections are allowed, hit tab to add the highlighted entry to the
|
|
1465
1481
|
selection, and use ctrl-a to select all visible items. Return processes the
|
|
1466
1482
|
selected entries.
|
|
1483
|
+
|
|
1484
|
+
Search in the menu by typing:
|
|
1485
|
+
|
|
1486
|
+
sbtrkt fuzzy-match Items that match sbtrkt
|
|
1487
|
+
|
|
1488
|
+
'wild exact-match (quoted) Items that include wild
|
|
1489
|
+
|
|
1490
|
+
!fire inverse-exact-match Items that do not include fire
|
|
1467
1491
|
===== Options
|
|
1468
1492
|
===== --after DATE_STRING
|
|
1469
1493
|
|
|
@@ -1508,7 +1532,7 @@ Move selected items to section
|
|
|
1508
1532
|
|
|
1509
1533
|
===== -o|--output FORMAT
|
|
1510
1534
|
|
|
1511
|
-
Output entries to format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
1535
|
+
Output entries to format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
1512
1536
|
|
|
1513
1537
|
[Default Value] None
|
|
1514
1538
|
|
|
@@ -1605,7 +1629,11 @@ Force exact search string matching (case sensitive)
|
|
|
1605
1629
|
List all entries
|
|
1606
1630
|
|
|
1607
1631
|
The argument can be a section name, @tag(s) or both.
|
|
1608
|
-
"pick" or "choose" as an argument will offer a section menu.
|
|
1632
|
+
"pick" or "choose" as an argument will offer a section menu. Run with `--menu` to get a menu of available tags.
|
|
1633
|
+
|
|
1634
|
+
Show tags by passing @tagname arguments. Multiple tags can be combined, and you can specify the boolean used to
|
|
1635
|
+
combine them with `--bool (AND|OR|NOT)`. You can also use @+tagname to require a tag to match, or @-tagname to ignore
|
|
1636
|
+
entries containing tagname. +/- operators require `--bool PATTERN` (which is the default).
|
|
1609
1637
|
===== Options
|
|
1610
1638
|
===== -a|--age AGE
|
|
1611
1639
|
|
|
@@ -1623,10 +1651,10 @@ Show entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all d
|
|
|
1623
1651
|
|
|
1624
1652
|
===== -b|--bool BOOLEAN
|
|
1625
1653
|
|
|
1626
|
-
Tag boolean (AND,OR,NOT)
|
|
1654
|
+
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
|
|
1627
1655
|
|
|
1628
|
-
[Default Value]
|
|
1629
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
1656
|
+
[Default Value] PATTERN
|
|
1657
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
1630
1658
|
|
|
1631
1659
|
|
|
1632
1660
|
===== --before DATE_STRING
|
|
@@ -1641,6 +1669,7 @@ Show entries older than date. If this is only a time (8am, 1:30pm, 15:00), all d
|
|
|
1641
1669
|
Max count to show
|
|
1642
1670
|
|
|
1643
1671
|
[Default Value] 0
|
|
1672
|
+
[Must Match] (?-mix:^\d+$)
|
|
1644
1673
|
|
|
1645
1674
|
|
|
1646
1675
|
===== --case TYPE
|
|
@@ -1665,7 +1694,7 @@ Date range to show, or a single day to filter date on.
|
|
|
1665
1694
|
|
|
1666
1695
|
===== -o|--output FORMAT
|
|
1667
1696
|
|
|
1668
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
1697
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
1669
1698
|
|
|
1670
1699
|
[Default Value] None
|
|
1671
1700
|
|
|
@@ -1687,7 +1716,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
|
1687
1716
|
|
|
1688
1717
|
===== --tag TAG
|
|
1689
1718
|
|
|
1690
|
-
Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.
|
|
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.
|
|
1691
1720
|
|
|
1692
1721
|
[Default Value] None
|
|
1693
1722
|
|
|
@@ -1718,6 +1747,11 @@ Select from a menu of matching entries to perform additional operations
|
|
|
1718
1747
|
|
|
1719
1748
|
|
|
1720
1749
|
|
|
1750
|
+
===== -m|--menu
|
|
1751
|
+
Select section or tag to display from a menu
|
|
1752
|
+
|
|
1753
|
+
|
|
1754
|
+
|
|
1721
1755
|
===== --not
|
|
1722
1756
|
Show items that *don't* match search/tag/date filters
|
|
1723
1757
|
|
|
@@ -1751,7 +1785,7 @@ and "2d" would be interpreted as "two days ago."
|
|
|
1751
1785
|
===== Options
|
|
1752
1786
|
===== -o|--output FORMAT
|
|
1753
1787
|
|
|
1754
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
1788
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
1755
1789
|
|
|
1756
1790
|
[Default Value] None
|
|
1757
1791
|
|
|
@@ -1805,10 +1839,10 @@ Add (or remove) tags from the last entry, or from multiple entries
|
|
|
1805
1839
|
===== Options
|
|
1806
1840
|
===== --bool BOOLEAN
|
|
1807
1841
|
|
|
1808
|
-
Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
1842
|
+
Boolean (AND|OR|NOT) with which to combine multiple tag filters. Use PATTERN to parse + and - as booleans.
|
|
1809
1843
|
|
|
1810
|
-
[Default Value]
|
|
1811
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
1844
|
+
[Default Value] PATTERN
|
|
1845
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
1812
1846
|
|
|
1813
1847
|
|
|
1814
1848
|
===== -c|--count COUNT
|
|
@@ -1851,7 +1885,7 @@ Tag entries matching search filter, surround with slashes for regex (e.g. "/quer
|
|
|
1851
1885
|
===== --tag TAG
|
|
1852
1886
|
|
|
1853
1887
|
Tag the last X entries containing TAG.
|
|
1854
|
-
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool
|
|
1888
|
+
Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool. Wildcards allowed (*, ?).
|
|
1855
1889
|
|
|
1856
1890
|
[Default Value] None
|
|
1857
1891
|
|
|
@@ -1901,12 +1935,98 @@ Force exact search string matching (case sensitive)
|
|
|
1901
1935
|
|
|
1902
1936
|
|
|
1903
1937
|
|
|
1938
|
+
==== Command: <tt>tags </tt>
|
|
1939
|
+
List all tags in the current Doing file
|
|
1940
|
+
|
|
1941
|
+
|
|
1942
|
+
===== Options
|
|
1943
|
+
===== --bool BOOLEAN
|
|
1944
|
+
|
|
1945
|
+
Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans.
|
|
1946
|
+
|
|
1947
|
+
[Default Value] PATTERN
|
|
1948
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
===== --case TYPE
|
|
1952
|
+
|
|
1953
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
|
1954
|
+
|
|
1955
|
+
[Default Value] smart
|
|
1956
|
+
[Must Match] (?-mix:^[csi])
|
|
1957
|
+
|
|
1958
|
+
|
|
1959
|
+
===== -o|--order ORDER
|
|
1960
|
+
|
|
1961
|
+
Sort order (asc/desc)
|
|
1962
|
+
|
|
1963
|
+
[Default Value] asc
|
|
1964
|
+
[Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
|
|
1965
|
+
|
|
1966
|
+
|
|
1967
|
+
===== -s|--section SECTION_NAME
|
|
1968
|
+
|
|
1969
|
+
Section
|
|
1970
|
+
|
|
1971
|
+
[Default Value] All
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
===== --search QUERY
|
|
1975
|
+
|
|
1976
|
+
Get tags for items matching search. Surround with
|
|
1977
|
+
slashes for regex (e.g. "/query/"), start with a single quote for exact match ("'query").
|
|
1978
|
+
|
|
1979
|
+
[Default Value] None
|
|
1980
|
+
|
|
1981
|
+
|
|
1982
|
+
===== --sort SORT_ORDER
|
|
1983
|
+
|
|
1984
|
+
Sort by name or count
|
|
1985
|
+
|
|
1986
|
+
[Default Value] name
|
|
1987
|
+
[Must Match] (?-mix:^(?:n(?:ame)?|c(?:ount)?)$)
|
|
1988
|
+
|
|
1989
|
+
|
|
1990
|
+
===== --tag TAG
|
|
1991
|
+
|
|
1992
|
+
Get tags for entries matching tags. Combine multiple tags with a comma. Wildcards allowed (*, ?).
|
|
1993
|
+
|
|
1994
|
+
[Default Value] None
|
|
1995
|
+
|
|
1996
|
+
|
|
1997
|
+
===== -c|--[no-]counts
|
|
1998
|
+
Show count of occurrences
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
===== -i|--interactive
|
|
2003
|
+
Select items to scan from a menu of matching entries
|
|
2004
|
+
|
|
2005
|
+
|
|
2006
|
+
|
|
2007
|
+
===== --not
|
|
2008
|
+
Get tags from items that *don't* match search/tag filters
|
|
2009
|
+
|
|
2010
|
+
|
|
2011
|
+
|
|
2012
|
+
===== -x|--exact
|
|
2013
|
+
Force exact search string matching (case sensitive)
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
|
|
1904
2017
|
==== Command: <tt>template TYPE</tt>
|
|
1905
2018
|
Output HTML, CSS, and Markdown (ERB) templates for customization
|
|
1906
2019
|
|
|
1907
2020
|
Templates are printed to STDOUT for piping to a file.
|
|
1908
2021
|
Save them and use them in the configuration file under export_templates.
|
|
1909
2022
|
===== Options
|
|
2023
|
+
===== -p|--path DIRECTORY
|
|
2024
|
+
|
|
2025
|
+
Save template to alternate location
|
|
2026
|
+
|
|
2027
|
+
[Default Value] /Users/ttscoff/.config/doing/templates
|
|
2028
|
+
|
|
2029
|
+
|
|
1910
2030
|
===== -c|--[no-]column
|
|
1911
2031
|
List in single column for completion
|
|
1912
2032
|
|
|
@@ -1917,6 +2037,11 @@ List all available templates
|
|
|
1917
2037
|
|
|
1918
2038
|
|
|
1919
2039
|
|
|
2040
|
+
===== -s|--save
|
|
2041
|
+
Save template to file instead of STDOUT
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
|
|
1920
2045
|
==== Command: <tt>test </tt>
|
|
1921
2046
|
Test Stuff
|
|
1922
2047
|
|
|
@@ -1924,7 +2049,8 @@ This command is coming from /Users/ttscoff/.config/doing/commands/test.rb
|
|
|
1924
2049
|
==== Command: <tt>today </tt>
|
|
1925
2050
|
List entries from today
|
|
1926
2051
|
|
|
1927
|
-
|
|
2052
|
+
List entries from the current day. Use --before, --after, and
|
|
2053
|
+
--from to specify time ranges.
|
|
1928
2054
|
===== Options
|
|
1929
2055
|
===== --after TIME_STRING
|
|
1930
2056
|
|
|
@@ -1949,7 +2075,7 @@ Time range to show `doing today --from "12pm to 4pm"`
|
|
|
1949
2075
|
|
|
1950
2076
|
===== -o|--output FORMAT
|
|
1951
2077
|
|
|
1952
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
2078
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
1953
2079
|
|
|
1954
2080
|
[Default Value] None
|
|
1955
2081
|
|
|
@@ -1984,10 +2110,13 @@ Show time totals at the end of output
|
|
|
1984
2110
|
|
|
1985
2111
|
|
|
1986
2112
|
|
|
1987
|
-
==== Command: <tt>undo
|
|
1988
|
-
Undo the last
|
|
2113
|
+
==== Command: <tt>undo COUNT</tt>
|
|
2114
|
+
Undo the last X changes to the Doing file
|
|
1989
2115
|
|
|
2116
|
+
Reverts the last X commands that altered the doing file.
|
|
2117
|
+
All changes performed by a single command are undone at once.
|
|
1990
2118
|
|
|
2119
|
+
Specify a number to jump back multiple revisions, or use --select for an interactive menu.
|
|
1991
2120
|
===== Options
|
|
1992
2121
|
===== -f|--file PATH
|
|
1993
2122
|
|
|
@@ -1996,10 +2125,28 @@ Specify alternate doing file
|
|
|
1996
2125
|
[Default Value] None
|
|
1997
2126
|
|
|
1998
2127
|
|
|
2128
|
+
===== -p|--prune COUNT
|
|
2129
|
+
|
|
2130
|
+
Remove old backups, retaining X files
|
|
2131
|
+
|
|
2132
|
+
[Default Value] None
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
===== -i|--interactive
|
|
2136
|
+
Select from recent backups
|
|
2137
|
+
|
|
2138
|
+
|
|
2139
|
+
|
|
2140
|
+
===== -r|--[no-]redo
|
|
2141
|
+
Redo last undo. Note: you cannot undo a redo.
|
|
2142
|
+
|
|
2143
|
+
|
|
2144
|
+
|
|
1999
2145
|
==== Command: <tt>view VIEW_NAME</tt>
|
|
2000
2146
|
Display a user-created view
|
|
2001
2147
|
|
|
2002
|
-
|
|
2148
|
+
Views are defined in your configuration (use `doing config` to edit).
|
|
2149
|
+
Command line options override view configuration.
|
|
2003
2150
|
===== Options
|
|
2004
2151
|
===== --after DATE_STRING
|
|
2005
2152
|
|
|
@@ -2010,10 +2157,10 @@ View entries newer than date. If this is only a time (8am, 1:30pm, 15:00), all d
|
|
|
2010
2157
|
|
|
2011
2158
|
===== -b|--bool BOOLEAN
|
|
2012
2159
|
|
|
2013
|
-
Tag boolean (AND,OR,NOT)
|
|
2160
|
+
Tag boolean (AND,OR,NOT). Use PATTERN to parse + and - as booleans.
|
|
2014
2161
|
|
|
2015
|
-
[Default Value]
|
|
2016
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
2162
|
+
[Default Value] PATTERN
|
|
2163
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
2017
2164
|
|
|
2018
2165
|
|
|
2019
2166
|
===== --before DATE_STRING
|
|
@@ -2053,7 +2200,7 @@ Date range to show, or a single day to filter date on.
|
|
|
2053
2200
|
|
|
2054
2201
|
===== -o|--output FORMAT
|
|
2055
2202
|
|
|
2056
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
2203
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
2057
2204
|
|
|
2058
2205
|
[Default Value] None
|
|
2059
2206
|
|
|
@@ -2074,7 +2221,7 @@ Search filter, surround with slashes for regex (/query/), start with single quot
|
|
|
2074
2221
|
|
|
2075
2222
|
===== --tag TAG
|
|
2076
2223
|
|
|
2077
|
-
Tag filter, combine multiple tags with a comma.
|
|
2224
|
+
Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?).
|
|
2078
2225
|
|
|
2079
2226
|
[Default Value] None
|
|
2080
2227
|
|
|
@@ -2162,7 +2309,7 @@ Include entries newer than date
|
|
|
2162
2309
|
Tag boolean (AND,OR,NOT)
|
|
2163
2310
|
|
|
2164
2311
|
[Default Value] OR
|
|
2165
|
-
[Must Match] (?i-mx:^(?:and|all|any|or|not|none)$)
|
|
2312
|
+
[Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
|
|
2166
2313
|
|
|
2167
2314
|
|
|
2168
2315
|
===== --before DATE_STRING
|
|
@@ -2210,7 +2357,8 @@ Only show items with recorded time intervals
|
|
|
2210
2357
|
==== Command: <tt>yesterday </tt>
|
|
2211
2358
|
List entries from yesterday
|
|
2212
2359
|
|
|
2213
|
-
|
|
2360
|
+
Show only entries with start times within the previous 24 hour period. Use --before, --after, and --from to limit to
|
|
2361
|
+
time spans within the day.
|
|
2214
2362
|
===== Options
|
|
2215
2363
|
===== --after TIME_STRING
|
|
2216
2364
|
|
|
@@ -2235,7 +2383,7 @@ Time range to show, e.g. `doing yesterday --from "1am to 8am"`
|
|
|
2235
2383
|
|
|
2236
2384
|
===== -o|--output FORMAT
|
|
2237
2385
|
|
|
2238
|
-
Output to export format (csv|doing|html|markdown|say|taskpaper|template|timeline|wiki)
|
|
2386
|
+
Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
|
|
2239
2387
|
|
|
2240
2388
|
[Default Value] None
|
|
2241
2389
|
|
data/example_plugin.rb
CHANGED
|
@@ -47,6 +47,8 @@ module Doing
|
|
|
47
47
|
## - name: display name for template
|
|
48
48
|
## - trigger: regular expression for
|
|
49
49
|
## `template --type FORMAT`
|
|
50
|
+
## - format: a descriptor of the file format (erb, haml, stylus, etc.)
|
|
51
|
+
## - filename: a default filename used when the template is written to disk
|
|
50
52
|
##
|
|
51
53
|
## If a template is included, a config key will
|
|
52
54
|
## automatically be added for the user to override
|
|
@@ -73,7 +75,7 @@ module Doing
|
|
|
73
75
|
{
|
|
74
76
|
trigger: 'say(?:it)?',
|
|
75
77
|
templates: [
|
|
76
|
-
{ name: 'say', trigger: 'say(?:it)?' }
|
|
78
|
+
{ name: 'say', trigger: 'say(?:it)?', format: 'text', filename: 'say.txt' }
|
|
77
79
|
],
|
|
78
80
|
config: {
|
|
79
81
|
'say_voice' => 'Fiona'
|