doing 2.1.5pre → 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 +3 -3
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardopts +1 -1
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +1 -1
- data/README.md +5 -1
- data/bin/doing +43 -4
- data/docs/_config.yml +1 -0
- data/{doc → docs/doc}/Array.html +1 -1
- data/{doc → docs/doc}/BooleanTermParser/Clause.html +1 -1
- data/{doc → docs/doc}/BooleanTermParser/Operator.html +1 -1
- data/{doc → docs/doc}/BooleanTermParser/Query.html +1 -1
- data/{doc → docs/doc}/BooleanTermParser/QueryParser.html +1 -1
- data/{doc → docs/doc}/BooleanTermParser/QueryTransformer.html +1 -1
- data/{doc → docs/doc}/BooleanTermParser.html +1 -1
- data/{doc → docs/doc}/Doing/CLIFormat.html +0 -0
- data/{doc → docs/doc}/Doing/Color.html +1 -1
- data/{doc → docs/doc}/Doing/Completion.html +1 -1
- data/{doc → docs/doc}/Doing/Configuration.html +1 -1
- 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 +1 -1
- data/{doc → docs/doc}/Doing/Items.html +1 -1
- data/{doc → docs/doc}/Doing/LogAdapter.html +1 -1
- data/{doc → docs/doc}/Doing/Note.html +1 -1
- data/{doc → docs/doc}/Doing/Pager.html +1 -1
- data/{doc → docs/doc}/Doing/Plugins.html +59 -3
- data/{doc → docs/doc}/Doing/Prompt.html +1 -1
- data/{doc → docs/doc}/Doing/Section.html +1 -1
- data/{doc → docs/doc}/Doing/TemplateString.html +1 -1
- data/{doc → docs/doc}/Doing/Util/Backup.html +1 -1
- data/{doc → docs/doc}/Doing/Util.html +1 -1
- data/{doc → docs/doc}/Doing/WWID.html +1 -1
- data/{doc → docs/doc}/Doing/WWIDFile.html +0 -0
- data/{doc → docs/doc}/Doing.html +2 -2
- 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/{doc → docs/doc}/PhraseParser/Operator.html +1 -1
- data/{doc → docs/doc}/PhraseParser/PhraseClause.html +1 -1
- data/{doc → docs/doc}/PhraseParser/Query.html +1 -1
- data/{doc → docs/doc}/PhraseParser/QueryParser.html +1 -1
- data/{doc → docs/doc}/PhraseParser/QueryTransformer.html +1 -1
- data/{doc → docs/doc}/PhraseParser/TermClause.html +1 -1
- data/{doc → docs/doc}/PhraseParser.html +1 -1
- data/{doc → docs/doc}/Status.html +1 -1
- data/{doc → docs/doc}/String.html +1 -1
- data/{doc → docs/doc}/Symbol.html +1 -1
- data/{doc → docs/doc}/Time.html +1 -1
- data/{doc → docs/doc}/_index.html +1 -1
- data/{doc → docs/doc}/class_list.html +0 -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 +172 -164
- data/{doc → docs/doc}/top-level-namespace.html +1 -1
- data/docs/index.md +60 -0
- data/doing.rdoc +27 -15
- 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/completion/fish_completion.rb +46 -3
- data/lib/doing/completion/zsh_completion.rb +1 -1
- data/lib/doing/configuration.rb +2 -3
- data/lib/doing/plugin_manager.rb +27 -8
- data/lib/doing/plugins/export/dayone_export.rb +2 -2
- 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/version.rb +1 -1
- data/lib/examples/plugins/say_export.rb +1 -1
- data/lib/examples/plugins/wiki_export/wiki_export.rb +3 -3
- metadata +69 -67
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
</div>
|
|
103
103
|
|
|
104
104
|
<div id="footer">
|
|
105
|
-
Generated on
|
|
105
|
+
Generated on Mon Dec 20 15:39:45 2021 by
|
|
106
106
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
107
107
|
0.9.26 (ruby-3.0.1).
|
|
108
108
|
</div>
|
data/docs/index.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# doing
|
|
2
|
+
|
|
3
|
+
**A command line tool for remembering what you were doing and tracking what you've done.**
|
|
4
|
+
|
|
5
|
+
_If you're one of the rare people like me who find this useful, feel free to [buy me some coffee](http://brettterpstra.com/donate/)._
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
The current version of `doing` is 2.1.4.
|
|
10
|
+
|
|
11
|
+
Find all of the documentation in the [doing wiki](https://github.com/ttscoff/doing/wiki).
|
|
12
|
+
|
|
13
|
+
See [what's new in Doing 2.0](https://brettterpstra.com/2021/11/20/doing-2-dot-0/).
|
|
14
|
+
|
|
15
|
+
Check out some craziness with Doing in the [iTerm status bar](https://brettterpstra.com/2021/10/15/see-what-youre-doing-in-the-iterm-status-bar/) and the [Mac Touch Bar/menu bar](https://brettterpstra.com/2021/07/21/crazy-bettertouchtool-touch-bar-simulator/).
|
|
16
|
+
|
|
17
|
+
## What and why
|
|
18
|
+
|
|
19
|
+
`doing` is a basic CLI for adding and listing "what was I doing" reminders in a [TaskPaper-formatted](https://www.taskpaper.com) text file. It allows for multiple sections/categories and flexible output formatting.
|
|
20
|
+
|
|
21
|
+
While I'm working, I have hourly reminders to record what I'm working on, and I try to remember to punch in quick notes if I'm unexpectedly called away from a project. I can do this just by typing `doing now tracking down the CG bug`.
|
|
22
|
+
|
|
23
|
+
If there's something I want to look at later but doesn't need to be added to a task list or tracker, I can type `doing later check out the pinboard bookmarks from macdrifter`. When I get back to my computer --- or just need a refresher after a distraction --- I can type `doing last` to see what the last thing on my plate was. I can also type `doing recent` (or just `doing`) to get a list of the last few entries. `doing today` gives me everything since midnight for the current day, making it easy to see what I've accomplished over a sleepless night.
|
|
24
|
+
|
|
25
|
+
Doing has over 30 commands for tracking your status, recording your time, and analyzing the results.
|
|
26
|
+
|
|
27
|
+
See [the wiki](https://github.com/ttscoff/doing/wiki) for installation and usage instructions.
|
|
28
|
+
|
|
29
|
+
## Launchbar/Alfred
|
|
30
|
+
|
|
31
|
+
The LaunchBar action requires that `doing` be available in `/usr/local/bin/doing`. If it's not (because you're using RVM or similar), you'll need to symlink it there. Running the action with Return will show the latest 9 items from Currently, along with any time intervals recorded, and includes a submenu of Timers for each tag.
|
|
32
|
+
|
|
33
|
+
Pressing Spacebar and typing allows you to add a new entry to currently. You an also trigger a custom show command by typing "show [section/tag]" and hitting return. Include any command line flags at the end of the string, and if you add text in parenthesis, it will be processed as a note on the entry.
|
|
34
|
+
|
|
35
|
+
Point of interest, the LaunchBar Action makes use of the `-o json` flag for outputting JSON to the action's script for parsing.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
See the [doing project on BrettTerpstra.com](https://brettterpstra.com/projects/doing/) for the download.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Evan Lovely has [created an Alfred workflow as well](http://www.evanlovely.com/blog/technology/alfred-for-terpstras-doing/).
|
|
45
|
+
|
|
46
|
+
## Contributing
|
|
47
|
+
|
|
48
|
+
If you [create a plugin](https://github.com/ttscoff/doing/wiki/Creating-Plugins), custom command, or hook you can share, please [let me know](https://brettterpstra.com/contact/). If I get a few plugin contributions, I'll set up a second repository for them.
|
|
49
|
+
|
|
50
|
+
Feel free to fork [the repository](https://github.com/ttscoff/doing/) on GitHub and make pull requests with changes. Please target the `develop` branch with pull requests.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
PayPal link: [paypal.me/ttscoff](https://paypal.me/ttscoff)
|
|
57
|
+
|
|
58
|
+
## Changelog
|
|
59
|
+
|
|
60
|
+
See [CHANGELOG.md](https://github.com/ttscoff/doing/blob/master/CHANGELOG.md)
|
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
|
|
@@ -380,10 +380,10 @@ List available color variables for configuration templates and views
|
|
|
380
380
|
|
|
381
381
|
|
|
382
382
|
==== Command: <tt>completion </tt>
|
|
383
|
+
Generate shell completion scripts
|
|
384
|
+
|
|
383
385
|
Generates the necessary scripts to add command line completion to various shells, so typing 'doing' and hitting
|
|
384
386
|
tab will offer completions of subcommands and their options.
|
|
385
|
-
|
|
386
|
-
|
|
387
387
|
===== Options
|
|
388
388
|
===== -f|--file PATH
|
|
389
389
|
|
|
@@ -493,11 +493,11 @@ Update default config file, adding any missing keys
|
|
|
493
493
|
|
|
494
494
|
[Default Command] edit
|
|
495
495
|
==== Command: <tt>done|did ENTRY</tt>
|
|
496
|
+
Add a completed item with @done(date). No argument finishes last entry.
|
|
497
|
+
|
|
496
498
|
Use this command to add an entry after you've already finished it. It will be immediately marked as @done.
|
|
497
499
|
You can modify the start and end times of the entry using the --back, --took, and --at flags, making it an easy
|
|
498
500
|
way to add entries in post and maintain accurate (albeit manual) time tracking.
|
|
499
|
-
|
|
500
|
-
|
|
501
501
|
===== Options
|
|
502
502
|
===== --at DATE_STRING
|
|
503
503
|
|
|
@@ -711,7 +711,7 @@ Date range to show, or a single day to filter date on.
|
|
|
711
711
|
|
|
712
712
|
===== -o|--output FORMAT
|
|
713
713
|
|
|
714
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
715
715
|
|
|
716
716
|
[Default Value] None
|
|
717
717
|
|
|
@@ -1204,7 +1204,7 @@ it will create a range.
|
|
|
1204
1204
|
===== Options
|
|
1205
1205
|
===== -o|--output FORMAT
|
|
1206
1206
|
|
|
1207
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
1208
1208
|
|
|
1209
1209
|
[Default Value] None
|
|
1210
1210
|
|
|
@@ -1532,7 +1532,7 @@ Move selected items to section
|
|
|
1532
1532
|
|
|
1533
1533
|
===== -o|--output FORMAT
|
|
1534
1534
|
|
|
1535
|
-
Output entries to format (csv|dayone|dayone-days|dayone-entries|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)
|
|
1536
1536
|
|
|
1537
1537
|
[Default Value] None
|
|
1538
1538
|
|
|
@@ -1694,7 +1694,7 @@ Date range to show, or a single day to filter date on.
|
|
|
1694
1694
|
|
|
1695
1695
|
===== -o|--output FORMAT
|
|
1696
1696
|
|
|
1697
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
1698
1698
|
|
|
1699
1699
|
[Default Value] None
|
|
1700
1700
|
|
|
@@ -1785,7 +1785,7 @@ and "2d" would be interpreted as "two days ago."
|
|
|
1785
1785
|
===== Options
|
|
1786
1786
|
===== -o|--output FORMAT
|
|
1787
1787
|
|
|
1788
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
1789
1789
|
|
|
1790
1790
|
[Default Value] None
|
|
1791
1791
|
|
|
@@ -2020,6 +2020,13 @@ Output HTML, CSS, and Markdown (ERB) templates for customization
|
|
|
2020
2020
|
Templates are printed to STDOUT for piping to a file.
|
|
2021
2021
|
Save them and use them in the configuration file under export_templates.
|
|
2022
2022
|
===== Options
|
|
2023
|
+
===== -p|--path DIRECTORY
|
|
2024
|
+
|
|
2025
|
+
Save template to alternate location
|
|
2026
|
+
|
|
2027
|
+
[Default Value] /Users/ttscoff/.config/doing/templates
|
|
2028
|
+
|
|
2029
|
+
|
|
2023
2030
|
===== -c|--[no-]column
|
|
2024
2031
|
List in single column for completion
|
|
2025
2032
|
|
|
@@ -2030,6 +2037,11 @@ List all available templates
|
|
|
2030
2037
|
|
|
2031
2038
|
|
|
2032
2039
|
|
|
2040
|
+
===== -s|--save
|
|
2041
|
+
Save template to file instead of STDOUT
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
|
|
2033
2045
|
==== Command: <tt>test </tt>
|
|
2034
2046
|
Test Stuff
|
|
2035
2047
|
|
|
@@ -2063,7 +2075,7 @@ Time range to show `doing today --from "12pm to 4pm"`
|
|
|
2063
2075
|
|
|
2064
2076
|
===== -o|--output FORMAT
|
|
2065
2077
|
|
|
2066
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
2067
2079
|
|
|
2068
2080
|
[Default Value] None
|
|
2069
2081
|
|
|
@@ -2188,7 +2200,7 @@ Date range to show, or a single day to filter date on.
|
|
|
2188
2200
|
|
|
2189
2201
|
===== -o|--output FORMAT
|
|
2190
2202
|
|
|
2191
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
2192
2204
|
|
|
2193
2205
|
[Default Value] None
|
|
2194
2206
|
|
|
@@ -2343,10 +2355,10 @@ Only show items with recorded time intervals
|
|
|
2343
2355
|
|
|
2344
2356
|
|
|
2345
2357
|
==== Command: <tt>yesterday </tt>
|
|
2358
|
+
List entries from yesterday
|
|
2359
|
+
|
|
2346
2360
|
Show only entries with start times within the previous 24 hour period. Use --before, --after, and --from to limit to
|
|
2347
2361
|
time spans within the day.
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
2362
|
===== Options
|
|
2351
2363
|
===== --after TIME_STRING
|
|
2352
2364
|
|
|
@@ -2371,7 +2383,7 @@ Time range to show, e.g. `doing yesterday --from "1am to 8am"`
|
|
|
2371
2383
|
|
|
2372
2384
|
===== -o|--output FORMAT
|
|
2373
2385
|
|
|
2374
|
-
Output to export format (csv|dayone|dayone-days|dayone-entries|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)
|
|
2375
2387
|
|
|
2376
2388
|
[Default Value] None
|
|
2377
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'
|
data/lib/completion/_doing.zsh
CHANGED
|
@@ -14,6 +14,8 @@ function _doing() {
|
|
|
14
14
|
'move:Move entries between sections'
|
|
15
15
|
'autotag:Autotag last entry or filtered entries'
|
|
16
16
|
'cancel:End last X entries with no time tracked'
|
|
17
|
+
'changelog:List recent changes in Doing'
|
|
18
|
+
'changes:List recent changes in Doing'
|
|
17
19
|
'choose:Select a section to display from a menu'
|
|
18
20
|
'colors:List available color variables for configuration templates and views'
|
|
19
21
|
'completion:Generate shell completion scripts'
|
|
@@ -45,10 +47,11 @@ function _doing() {
|
|
|
45
47
|
'show:List all entries'
|
|
46
48
|
'since:List entries since a date'
|
|
47
49
|
'tag:Add tag(s) to last entry'
|
|
50
|
+
'tags:List all tags in the current Doing file'
|
|
48
51
|
'template:Output HTML'
|
|
49
52
|
'test:Test Stuff'
|
|
50
53
|
'today:List entries from today'
|
|
51
|
-
'undo:Undo the last
|
|
54
|
+
'undo:Undo the last X changes to the Doing file'
|
|
52
55
|
'view:Display a user-created view'
|
|
53
56
|
'views:List available custom views'
|
|
54
57
|
'wiki:Output a tag wiki'
|
|
@@ -66,21 +69,27 @@ function _doing() {
|
|
|
66
69
|
args=( )
|
|
67
70
|
;;
|
|
68
71
|
again)
|
|
69
|
-
args=(
|
|
72
|
+
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" {-x,--exact}"[Force exact search string matching]" )
|
|
70
73
|
;;
|
|
71
74
|
resume)
|
|
72
|
-
args=(
|
|
75
|
+
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" {-x,--exact}"[Force exact search string matching]" )
|
|
73
76
|
;;
|
|
74
77
|
archive)
|
|
75
|
-
args=(
|
|
78
|
+
args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
|
76
79
|
;;
|
|
77
80
|
move)
|
|
78
|
-
args=(
|
|
81
|
+
args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
|
79
82
|
;;
|
|
80
83
|
autotag)
|
|
81
|
-
args=(
|
|
84
|
+
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to autotag]" "(--force)--force}[Dont ask permission to autotag all entries when count is 0t ask permission to autotag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" {-s,--section=}"[Section]" "(--search=)--search=}[Autotag entries matching search filter]" "(--tag=)--tag=}[Autotag the last X entries containing TAG]" {-u,--unfinished}"[Autotag last entry]" )
|
|
82
85
|
;;
|
|
83
86
|
cancel)
|
|
87
|
+
args=( {-a,--archive}"[Archive entries]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select item(s) to cancel from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Section]" "(--search=)--search=}[Cancel the last X entries matching search filter]" "(--tag=)--tag=}[Cancel the last X entries containing TAG]" {-u,--unfinished}"[Cancel last entry]" {-x,--exact}"[Force exact search string matching]" )
|
|
88
|
+
;;
|
|
89
|
+
changelog)
|
|
90
|
+
args=( )
|
|
91
|
+
;;
|
|
92
|
+
changes)
|
|
84
93
|
args=( )
|
|
85
94
|
;;
|
|
86
95
|
choose)
|
|
@@ -90,115 +99,118 @@ function _doing() {
|
|
|
90
99
|
args=( )
|
|
91
100
|
;;
|
|
92
101
|
completion)
|
|
93
|
-
args=(
|
|
102
|
+
args=( {-f,--file=}"[File to write output to]" {-t,--type=}"[Shell to generate for]" )
|
|
94
103
|
;;
|
|
95
104
|
config)
|
|
96
|
-
args=(
|
|
105
|
+
args=( {-d,--dump}"[DEPRECATED]" {-u,--update}"[DEPRECATED]" )
|
|
97
106
|
;;
|
|
98
107
|
done)
|
|
99
|
-
args=(
|
|
108
|
+
args=( {-a,--archive}"[Immediately archive the entry]" "(--at=)--at=}[Set finish date to specific date/time]" "(--started=)--started=}[Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]]" "(--date)--date}[Include date]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Include a note]" {-r,--remove}"[Remove @done tag]" {-s,--section=}"[Section]" {-t,--took=}"[Set completion date to start date plus interval]" {-u,--unfinished}"[Finish last entry not already marked @done]" )
|
|
100
109
|
;;
|
|
101
110
|
did)
|
|
102
|
-
args=(
|
|
111
|
+
args=( {-a,--archive}"[Immediately archive the entry]" "(--at=)--at=}[Set finish date to specific date/time]" "(--started=)--started=}[Backdate start date by interval or set to time [4pm|20m|2h|"yesterday noon"]]" "(--date)--date}[Include date]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Include a note]" {-r,--remove}"[Remove @done tag]" {-s,--section=}"[Section]" {-t,--took=}"[Set completion date to start date plus interval]" {-u,--unfinished}"[Finish last entry not already marked @done]" )
|
|
103
112
|
;;
|
|
104
113
|
finish)
|
|
105
|
-
args=(
|
|
114
|
+
args=( {-a,--archive}"[Archive entries]" "(--at=)--at=}[Set finish date to specific date/time]" "(--auto)--auto}[Auto-generate finish dates from next entrys start times start time]" {-b,--back=}"[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--date)--date}[Include date]" {-i,--interactive}"[Select item(s) to finish from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove done tag]" {-s,--section=}"[Section]" "(--search=)--search=}[Finish the last X entries matching search filter]" {-t,--took=}"[Set the completed date to the start date plus XX[hmd]]" "(--tag=)--tag=}[Finish the last X entries containing TAG]" {-u,--unfinished}"[Finish last entry]" {-x,--exact}"[Force exact search string matching]" )
|
|
106
115
|
;;
|
|
107
116
|
grep)
|
|
108
|
-
args=(
|
|
117
|
+
args=( "(--after=)--after=}[Search entries newer than date]" "(--before=)--before=}[Search entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Date range to show]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact string matching]" )
|
|
109
118
|
;;
|
|
110
119
|
search)
|
|
111
|
-
args=(
|
|
120
|
+
args=( "(--after=)--after=}[Search entries newer than date]" "(--before=)--before=}[Search entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Date range to show]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact string matching]" )
|
|
112
121
|
;;
|
|
113
122
|
help)
|
|
114
123
|
args=( )
|
|
115
124
|
;;
|
|
116
125
|
import)
|
|
117
|
-
args=(
|
|
126
|
+
args=( "(--after=)--after=}[Import entries newer than date]" "(--autotag)--autotag}[Autotag entries]" "(--before=)--before=}[Import entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-f,--from=}"[Date range to import]" "(--not)--not}[Import items that *dont* match search/tag/date filterst* match search/tag/date filters]" "(--only_timed)--only_timed}[Only import items with recorded time intervals]" "(--overlap)--overlap}[Allow entries that overlap existing times]" "(--prefix=)--prefix=}[Prefix entries with]" {-s,--section=}"[Target section]" "(--search=)--search=}[Only import items matching search]" "(--tag=)--tag=}[Tag all imported entries]" "(--type=)--type=}[Import type]" {-x,--exact}"[Force exact search string matching]" )
|
|
118
127
|
;;
|
|
119
128
|
last)
|
|
120
|
-
args=(
|
|
129
|
+
args=( "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--duration)--duration}[Show elapsed time if entry is not tagged @done]" {-e,--editor}"[Edit entry with vim]" "(--not)--not}[Show items that *dont* match search string or tag filtert* match search string or tag filter]" {-s,--section=}"[Specify a section]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
|
121
130
|
;;
|
|
122
131
|
later)
|
|
123
|
-
args=(
|
|
132
|
+
args=( {-b,--back=}"[Backdate start time to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" )
|
|
124
133
|
;;
|
|
125
134
|
mark)
|
|
126
|
-
args=(
|
|
135
|
+
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" "(--not)--not}[Flag items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" {-x,--exact}"[Force exact search string matching]" )
|
|
127
136
|
;;
|
|
128
137
|
flag)
|
|
129
|
-
args=(
|
|
138
|
+
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" "(--not)--not}[Flag items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" {-x,--exact}"[Force exact search string matching]" )
|
|
130
139
|
;;
|
|
131
140
|
meanwhile)
|
|
132
|
-
args=(
|
|
141
|
+
args=( {-a,--archive}"[Archive previous @meanwhile entry]" {-b,--back=}"[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" {-s,--section=}"[Section]" )
|
|
133
142
|
;;
|
|
134
143
|
note)
|
|
135
|
-
args=(
|
|
144
|
+
args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit entry with vim]" {-i,--interactive}"[Select item for new note from a menu of matching entries]" "(--not)--not}[Add note to item that *doesnt* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Replace/Remove last entrys notes note]" {-s,--section=}"[Section]" "(--search=)--search=}[Add/remove note from last entry matching search filter]" "(--tag=)--tag=}[Add/remove note from last entry matching tag]" {-x,--exact}"[Force exact search string matching]" )
|
|
136
145
|
;;
|
|
137
146
|
now)
|
|
138
|
-
args=(
|
|
147
|
+
args=( "(--started=)--started=}[Backdate start time [4pm|20m|2h|"yesterday noon"]]" {-e,--editor}"[Edit entry with vim]" {-f,--finish_last}"[Timed entry]" {-n,--note=}"[Include a note]" {-s,--section=}"[Section]" )
|
|
139
148
|
;;
|
|
140
149
|
next)
|
|
141
|
-
args=(
|
|
150
|
+
args=( "(--started=)--started=}[Backdate start time [4pm|20m|2h|"yesterday noon"]]" {-e,--editor}"[Edit entry with vim]" {-f,--finish_last}"[Timed entry]" {-n,--note=}"[Include a note]" {-s,--section=}"[Section]" )
|
|
142
151
|
;;
|
|
143
152
|
on)
|
|
144
|
-
args=(
|
|
153
|
+
args=( "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
|
|
145
154
|
;;
|
|
146
155
|
open)
|
|
147
|
-
args=(
|
|
156
|
+
args=( {-a,--app=}"[Open with app name]" {-b,--bundle_id=}"[Open with app bundle id]" {-e,--editor=}"[Open with editor command]" )
|
|
148
157
|
;;
|
|
149
158
|
plugins)
|
|
150
|
-
args=(
|
|
159
|
+
args=( {-c,--column}"[List in single column for completion]" {-t,--type=}"[List plugins of type]" )
|
|
151
160
|
;;
|
|
152
161
|
recent)
|
|
153
|
-
args=(
|
|
162
|
+
args=( "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
|
|
154
163
|
;;
|
|
155
164
|
reset)
|
|
156
|
-
args=(
|
|
165
|
+
args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select from a menu of matching entries]" "(--not)--not}[Reset items that *dont* match search/tag filterst* match search/tag filters]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Limit search to section]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" {-x,--exact}"[Force exact search string matching]" )
|
|
157
166
|
;;
|
|
158
167
|
begin)
|
|
159
|
-
args=(
|
|
168
|
+
args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select from a menu of matching entries]" "(--not)--not}[Reset items that *dont* match search/tag filterst* match search/tag filters]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Limit search to section]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" {-x,--exact}"[Force exact search string matching]" )
|
|
160
169
|
;;
|
|
161
170
|
rotate)
|
|
162
|
-
args=(
|
|
171
|
+
args=( "(--before=)--before=}[Rotate entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep in each section]" "(--not)--not}[Rotate items that *dont* match search string or tag filtert* match search string or tag filter]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
|
163
172
|
;;
|
|
164
173
|
sections)
|
|
165
|
-
args=(
|
|
174
|
+
args=( {-c,--column}"[List in single column]" )
|
|
166
175
|
;;
|
|
167
176
|
select)
|
|
168
|
-
args=(
|
|
177
|
+
args=( {-a,--archive}"[Archive selected items]" "(--after=)--after=}[Select from entries newer than date]" "(--resume)--resume}[Copy selection as a new entry with current time and no @done tag]" "(--before=)--before=}[Select from entries older than date]" {-c,--cancel}"[Cancel selected items]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--delete}"[Delete selected items]" {-e,--editor}"[Edit selected item(s)]" {-f,--finish}"[Add @done with current time to selected item(s)]" "(--flag)--flag}[Add flag to selected item(s)]" "(--force)--force}[Perform action without confirmation]" "(--from=)--from=}[Date range to show]" {-m,--move=}"[Move selected items to section]" "(--menu)--menu}[Use --no-menu to skip the interactive menu]" "(--not)--not}[Select items that *dont* match search/tag filterst* match search/tag filters]" {-o,--output=}"[Output entries to format]" "(--search=)--search=}[Initial search query for filtering]" {-r,--remove}"[Reverse -c]" {-s,--section=}"[Select from a specific section]" "(--save_to=)--save_to=}[Save selected entries to file using --output format]" {-t,--tag=}"[Tag selected entries]" {-x,--exact}"[Force exact search string matching]" )
|
|
169
178
|
;;
|
|
170
179
|
show)
|
|
171
|
-
args=(
|
|
180
|
+
args=( {-a,--age=}"[Age]" "(--after=)--after=}[Show entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[Show entries older than date]" {-c,--count=}"[Max count to show]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Date range to show]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-m,--menu}"[Select section or tag to display from a menu]" "(--not)--not}[Show items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--sort=}"[Sort order]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact search string matching]" )
|
|
172
181
|
;;
|
|
173
182
|
since)
|
|
174
|
-
args=(
|
|
183
|
+
args=( "(--duration)--duration}[Show elapsed time on entries without @done tag]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
|
|
175
184
|
;;
|
|
176
185
|
tag)
|
|
177
|
-
args=(
|
|
186
|
+
args=( {-a,--autotag}"[Autotag entries based on autotag configuration in ~/]" "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to tag all entries when count is 0t ask permission to tag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" "(--not)--not}[Tag items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove given tag(s)]" "(--regex)--regex}[Interpret tag string as regular expression]" "(--rename=)--rename=}[Replace existing tag with tag argument]" {-s,--section=}"[Section]" "(--search=)--search=}[Tag entries matching search filter]" "(--tag=)--tag=}[Tag the last X entries containing TAG]" {-u,--unfinished}"[Tag last entry]" {-x,--exact}"[Force exact search string matching]" )
|
|
187
|
+
;;
|
|
188
|
+
tags)
|
|
189
|
+
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-c,--counts}"[Show count of occurrences]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select items to scan from a menu of matching entries]" "(--not)--not}[Get tags from items that *dont* match search/tag filterst* match search/tag filters]" {-o,--order=}"[Sort order]" {-s,--section=}"[Section]" "(--search=)--search=}[Get tags for items matching search]" "(--sort=)--sort=}[Sort by name or count]" "(--tag=)--tag=}[Get tags for entries matching tags]" {-x,--exact}"[Force exact search string matching]" )
|
|
178
190
|
;;
|
|
179
191
|
template)
|
|
180
|
-
args=(
|
|
192
|
+
args=( {-c,--column}"[List in single column for completion]" {-l,--list}"[List all available templates]" {-p,--path=}"[Save template to alternate location]" {-s,--save}"[Save template to file instead of STDOUT]" )
|
|
181
193
|
;;
|
|
182
194
|
test)
|
|
183
195
|
args=( )
|
|
184
196
|
;;
|
|
185
197
|
today)
|
|
186
|
-
args=(
|
|
198
|
+
args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Time range to show `doing today --from "12pm to 4pm"`]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
|
|
187
199
|
;;
|
|
188
200
|
undo)
|
|
189
|
-
args=(
|
|
201
|
+
args=( {-f,--file=}"[Specify alternate doing file]" {-i,--interactive}"[Select from recent backups]" {-p,--prune=}"[Remove old backups]" {-r,--redo}"[Redo last undo]" )
|
|
190
202
|
;;
|
|
191
203
|
view)
|
|
192
|
-
args=(
|
|
204
|
+
args=( "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Count to display]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--color)--color}[Include colors in output]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Date range to show]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact search string matching]" )
|
|
193
205
|
;;
|
|
194
206
|
views)
|
|
195
|
-
args=(
|
|
207
|
+
args=( {-c,--column}"[List in single column]" )
|
|
196
208
|
;;
|
|
197
209
|
wiki)
|
|
198
|
-
args=(
|
|
210
|
+
args=( "(--after=)--after=}[Include entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[Include entries older than date]" {-f,--from=}"[Date range to include]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
|
|
199
211
|
;;
|
|
200
212
|
yesterday)
|
|
201
|
-
args=(
|
|
213
|
+
args=( "(--after=)--after=}[View entries after specified time]" "(--before=)--before=}[View entries before specified time]" "(--duration)--duration}[Show elapsed time on entries without @done tag]" "(--from=)--from=}[Time range to show]" {-o,--output=}"[Output to export format]" {-s,--section=}"[Specify a section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
|
|
202
214
|
;;
|
|
203
215
|
esac
|
|
204
216
|
|
data/lib/completion/doing.bash
CHANGED
|
@@ -276,9 +276,9 @@ local words=$(doing sections)
|
|
|
276
276
|
IFS="$OLD_IFS"
|
|
277
277
|
|
|
278
278
|
if [[ "$token" == --* ]]; then
|
|
279
|
-
COMPREPLY=( $( compgen -W '--age --after --bool --before --count --case --duration --from --interactive --not --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
|
279
|
+
COMPREPLY=( $( compgen -W '--age --after --bool --before --count --case --duration --from --interactive --menu --not --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
|
280
280
|
elif [[ "$token" == -* ]]; then
|
|
281
|
-
COMPREPLY=( $( compgen -W '-a -b -c -i -o -s -t -x --age --after --bool --before --count --case --duration --from --interactive --not --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
|
281
|
+
COMPREPLY=( $( compgen -W '-a -b -c -i -m -o -s -t -x --age --after --bool --before --count --case --duration --from --interactive --menu --not --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
|
282
282
|
else
|
|
283
283
|
local nocasematchWasOff=0
|
|
284
284
|
shopt nocasematch >/dev/null || nocasematchWasOff=1
|
|
@@ -318,12 +318,22 @@ _doing_tag() {
|
|
|
318
318
|
fi
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
+
_doing_tags() {
|
|
322
|
+
|
|
323
|
+
if [[ "$token" == --* ]]; then
|
|
324
|
+
COMPREPLY=( $( compgen -W '--bool --counts --case --interactive --not --order --section --search --sort --tag --exact' -- $token ) )
|
|
325
|
+
elif [[ "$token" == -* ]]; then
|
|
326
|
+
COMPREPLY=( $( compgen -W '-c -i -o -s -x --bool --counts --case --interactive --not --order --section --search --sort --tag --exact' -- $token ) )
|
|
327
|
+
|
|
328
|
+
fi
|
|
329
|
+
}
|
|
330
|
+
|
|
321
331
|
_doing_template() {
|
|
322
332
|
|
|
323
333
|
if [[ "$token" == --* ]]; then
|
|
324
|
-
COMPREPLY=( $( compgen -W '--column --list' -- $token ) )
|
|
334
|
+
COMPREPLY=( $( compgen -W '--column --list --path --save' -- $token ) )
|
|
325
335
|
elif [[ "$token" == -* ]]; then
|
|
326
|
-
COMPREPLY=( $( compgen -W '-c -l --column --list' -- $token ) )
|
|
336
|
+
COMPREPLY=( $( compgen -W '-c -l -p -s --column --list --path --save' -- $token ) )
|
|
327
337
|
|
|
328
338
|
fi
|
|
329
339
|
}
|
|
@@ -341,9 +351,9 @@ _doing_today() {
|
|
|
341
351
|
_doing_undo() {
|
|
342
352
|
|
|
343
353
|
if [[ "$token" == --* ]]; then
|
|
344
|
-
COMPREPLY=( $( compgen -W '--file' -- $token ) )
|
|
354
|
+
COMPREPLY=( $( compgen -W '--file --interactive --prune --redo' -- $token ) )
|
|
345
355
|
elif [[ "$token" == -* ]]; then
|
|
346
|
-
COMPREPLY=( $( compgen -W '-f --file' -- $token ) )
|
|
356
|
+
COMPREPLY=( $( compgen -W '-f -i -p -r --file --interactive --prune --redo' -- $token ) )
|
|
347
357
|
|
|
348
358
|
fi
|
|
349
359
|
}
|
|
@@ -441,6 +451,7 @@ _doing()
|
|
|
441
451
|
elif [[ $last =~ (show) ]]; then _doing_show
|
|
442
452
|
elif [[ $last =~ (since) ]]; then _doing_since
|
|
443
453
|
elif [[ $last =~ (tag) ]]; then _doing_tag
|
|
454
|
+
elif [[ $last =~ (tags) ]]; then _doing_tags
|
|
444
455
|
elif [[ $last =~ (template) ]]; then _doing_template
|
|
445
456
|
elif [[ $last =~ (today) ]]; then _doing_today
|
|
446
457
|
elif [[ $last =~ (undo) ]]; then _doing_undo
|