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