doing 2.1.4pre → 2.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardoc/checksums +14 -13
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardopts +1 -1
- data/CHANGELOG.md +37 -1
- data/Gemfile.lock +3 -1
- data/README.md +5 -1
- data/bin/doing +192 -95
- 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 +117 -12
- 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 +100 -73
- data/{doc → docs/doc}/Doing/Items.html +2 -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 +1 -1
- 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 +1 -1
- data/{doc → docs/doc}/Doing/WWID.html +5 -5
- 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 +182 -12
- data/{doc → docs/doc}/Symbol.html +35 -1
- data/{doc → docs/doc}/Time.html +1 -1
- data/{doc → docs/doc}/_index.html +21 -14
- data/{doc → docs/doc}/class_list.html +1 -1
- 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 +313 -161
- data/{doc → docs/doc}/top-level-namespace.html +1 -1
- data/docs/index.md +60 -0
- data/doing.gemspec +1 -0
- data/doing.rdoc +74 -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/array.rb +9 -0
- data/lib/doing/completion/fish_completion.rb +46 -3
- data/lib/doing/completion/zsh_completion.rb +1 -1
- data/lib/doing/configuration.rb +33 -11
- data/lib/doing/item.rb +12 -3
- data/lib/doing/log_adapter.rb +28 -0
- data/lib/doing/note.rb +31 -30
- 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 +90 -85
- data/lib/doing/prompt.rb +9 -6
- data/lib/doing/string.rb +68 -27
- data/lib/doing/symbol.rb +4 -0
- data/lib/doing/template_string.rb +197 -0
- data/lib/doing/util.rb +4 -2
- data/lib/doing/util_backup.rb +55 -3
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +37 -22
- data/lib/doing.rb +3 -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 +95 -53
data/lib/completion/doing.fish
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
function __fish_doing_needs_command
|
2
2
|
# Figure out if the current invocation already has a command.
|
3
3
|
|
4
|
-
set -l opts h-help config_file= f-doing_file= n-notes v-version stdout
|
4
|
+
set -l opts color h-help config_file= f-doing_file= n-notes v-version stdout debug default x-noauto no p-pager q-quiet yes
|
5
5
|
set cmd (commandline -opc)
|
6
6
|
set -e cmd[1]
|
7
7
|
argparse -s $opts -- $cmd 2>/dev/null
|
@@ -62,6 +62,7 @@ complete -xc doing -n '__fish_doing_needs_command' -a 'again resume' -d Repeat\
|
|
62
62
|
complete -xc doing -n '__fish_doing_needs_command' -a 'archive move' -d Move\ entries\ between\ sections
|
63
63
|
complete -xc doing -n '__fish_doing_needs_command' -a 'autotag' -d Autotag\ last\ entry\ or\ filtered\ entries
|
64
64
|
complete -xc doing -n '__fish_doing_needs_command' -a 'cancel' -d End\ last\ X\ entries\ with\ no\ time\ tracked
|
65
|
+
complete -xc doing -n '__fish_doing_needs_command' -a 'changelog changes' -d List\ recent\ changes\ in\ Doing
|
65
66
|
complete -xc doing -n '__fish_doing_needs_command' -a 'choose' -d Select\ a\ section\ to\ display\ from\ a\ menu
|
66
67
|
complete -xc doing -n '__fish_doing_needs_command' -a 'colors' -d List\ available\ color\ variables\ for\ configuration\ templates\ and\ views
|
67
68
|
complete -xc doing -n '__fish_doing_needs_command' -a 'completion' -d Generate\ shell\ completion\ scripts
|
@@ -88,12 +89,330 @@ complete -xc doing -n '__fish_doing_needs_command' -a 'select' -d Display\ an\ i
|
|
88
89
|
complete -xc doing -n '__fish_doing_needs_command' -a 'show' -d List\ all\ entries
|
89
90
|
complete -xc doing -n '__fish_doing_needs_command' -a 'since' -d List\ entries\ since\ a\ date
|
90
91
|
complete -xc doing -n '__fish_doing_needs_command' -a 'tag' -d Add\ tag\(s\)\ to\ last\ entry
|
92
|
+
complete -xc doing -n '__fish_doing_needs_command' -a 'tags' -d List\ all\ tags\ in\ the\ current\ Doing\ file
|
91
93
|
complete -xc doing -n '__fish_doing_needs_command' -a 'template' -d Output\ HTML
|
92
94
|
complete -xc doing -n '__fish_doing_needs_command' -a 'test' -d Test\ Stuff
|
93
95
|
complete -xc doing -n '__fish_doing_needs_command' -a 'today' -d List\ entries\ from\ today
|
94
|
-
complete -xc doing -n '__fish_doing_needs_command' -a 'undo' -d Undo\ the\ last\
|
96
|
+
complete -xc doing -n '__fish_doing_needs_command' -a 'undo' -d Undo\ the\ last\ X\ changes\ to\ the\ Doing\ file
|
95
97
|
complete -xc doing -n '__fish_doing_needs_command' -a 'view' -d Display\ a\ user-created\ view
|
96
98
|
complete -xc doing -n '__fish_doing_needs_command' -a 'views' -d List\ available\ custom\ views
|
97
99
|
complete -xc doing -n '__fish_doing_needs_command' -a 'wiki' -d Output\ a\ tag\ wiki
|
98
100
|
complete -xc doing -n '__fish_doing_needs_command' -a 'yesterday' -d List\ entries\ from\ yesterday
|
101
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command again resume' -d Boolean\ used\ to\ combine\ multiple\ tags
|
102
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command again resume' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
103
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command again resume' -d Edit\ duplicated\ entry\ with\ vim\ before\ adding
|
104
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command again resume' -d Select\ item\ to\ resume\ from\ a\ menu\ of\ matching\ entries
|
105
|
+
complete -c doing -l in -f -r -n '__fish_doing_using_command again resume' -d Add\ new\ entry\ to\ section
|
106
|
+
complete -c doing -l note -s n -f -r -n '__fish_doing_using_command again resume' -d Note
|
107
|
+
complete -c doing -l not -f -n '__fish_doing_using_command again resume' -d Resume\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
108
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command again resume' -d Get\ last\ entry\ from\ a\ specific\ section
|
109
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command again resume' -d Repeat\ last\ entry\ matching\ search
|
110
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command again resume' -d Repeat\ last\ entry\ matching\ tags
|
111
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command again resume' -d Force\ exact\ search\ string\ matching
|
112
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command archive move' -d Archive\ entries\ older\ than\ date
|
113
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command archive move' -d Tag\ boolean
|
114
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command archive move' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
115
|
+
complete -c doing -l keep -s k -f -r -n '__fish_doing_using_command archive move' -d How\ many\ items\ to\ keep
|
116
|
+
complete -c doing -l label -f -n '__fish_doing_using_command archive move' -d Label\ moved\ items\ with\ @from\(SECTION_NAME\)
|
117
|
+
complete -c doing -l not -f -n '__fish_doing_using_command archive move' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string
|
118
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command archive move' -d Search\ filter
|
119
|
+
complete -c doing -l to -s t -f -r -n '__fish_doing_using_command archive move' -d Move\ entries\ to
|
120
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command archive move' -d Tag\ filter
|
121
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command archive move' -d Force\ exact\ search\ string\ matching
|
122
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command autotag' -d Boolean
|
123
|
+
complete -c doing -l count -s c -f -r -n '__fish_doing_using_command autotag' -d How\ many\ recent\ entries\ to\ autotag
|
124
|
+
complete -c doing -l force -f -n '__fish_doing_using_command autotag' -d Don\'t\ ask\ permission\ to\ autotag\ all\ entries\ when\ count\ is\ 0
|
125
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command autotag' -d Select\ item\(s\)\ to\ tag\ from\ a\ menu\ of\ matching\ entries
|
126
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command autotag' -d Section
|
127
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command autotag' -d Autotag\ entries\ matching\ search\ filter
|
128
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command autotag' -d Autotag\ the\ last\ X\ entries\ containing\ TAG
|
129
|
+
complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command autotag' -d Autotag\ last\ entry
|
130
|
+
complete -c doing -l archive -s a -f -n '__fish_doing_using_command cancel' -d Archive\ entries
|
131
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command cancel' -d Boolean
|
132
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command cancel' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
133
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command cancel' -d Select\ item\(s\)\ to\ cancel\ from\ a\ menu\ of\ matching\ entries
|
134
|
+
complete -c doing -l not -f -n '__fish_doing_using_command cancel' -d Finish\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
135
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command cancel' -d Section
|
136
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command cancel' -d Cancel\ the\ last\ X\ entries\ matching\ search\ filter
|
137
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command cancel' -d Cancel\ the\ last\ X\ entries\ containing\ TAG
|
138
|
+
complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command cancel' -d Cancel\ last\ entry
|
139
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command cancel' -d Force\ exact\ search\ string\ matching
|
140
|
+
complete -c doing -l file -s f -f -r -n '__fish_doing_using_command completion' -d File\ to\ write\ output\ to
|
141
|
+
complete -c doing -l type -s t -f -r -n '__fish_doing_using_command completion' -d Shell\ to\ generate\ for
|
142
|
+
complete -c doing -l dump -s d -f -n '__fish_doing_using_command config' -d DEPRECATED
|
143
|
+
complete -c doing -l update -s u -f -n '__fish_doing_using_command config' -d DEPRECATED
|
144
|
+
complete -c doing -l archive -s a -f -n '__fish_doing_using_command done did' -d Immediately\ archive\ the\ entry
|
145
|
+
complete -c doing -l at -f -r -n '__fish_doing_using_command done did' -d Set\ finish\ date\ to\ specific\ date/time
|
146
|
+
complete -c doing -l started -f -r -n '__fish_doing_using_command done did' -d Backdate\ start\ date\ by\ interval\ or\ set\ to\ time\ \[4pm\|20m\|2h\|\"yesterday\ noon\"\]
|
147
|
+
complete -c doing -l date -f -n '__fish_doing_using_command done did' -d Include\ date
|
148
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command done did' -d Edit\ entry\ with\ vim
|
149
|
+
complete -c doing -l note -s n -f -r -n '__fish_doing_using_command done did' -d Include\ a\ note
|
150
|
+
complete -c doing -l remove -s r -f -n '__fish_doing_using_command done did' -d Remove\ @done\ tag
|
151
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command done did' -d Section
|
152
|
+
complete -c doing -l took -s t -f -r -n '__fish_doing_using_command done did' -d Set\ completion\ date\ to\ start\ date\ plus\ interval
|
153
|
+
complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command done did' -d Finish\ last\ entry\ not\ already\ marked\ @done
|
154
|
+
complete -c doing -l archive -s a -f -n '__fish_doing_using_command finish' -d Archive\ entries
|
155
|
+
complete -c doing -l at -f -r -n '__fish_doing_using_command finish' -d Set\ finish\ date\ to\ specific\ date/time
|
156
|
+
complete -c doing -l auto -f -n '__fish_doing_using_command finish' -d Auto-generate\ finish\ dates\ from\ next\ entry\'s\ start\ time
|
157
|
+
complete -c doing -l back -s b -f -r -n '__fish_doing_using_command finish' -d Backdate\ completed\ date\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
|
158
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command finish' -d Boolean
|
159
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command finish' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
160
|
+
complete -c doing -l date -f -n '__fish_doing_using_command finish' -d Include\ date
|
161
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command finish' -d Select\ item\(s\)\ to\ finish\ from\ a\ menu\ of\ matching\ entries
|
162
|
+
complete -c doing -l not -f -n '__fish_doing_using_command finish' -d Finish\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
163
|
+
complete -c doing -l remove -s r -f -n '__fish_doing_using_command finish' -d Remove\ done\ tag
|
164
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command finish' -d Section
|
165
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command finish' -d Finish\ the\ last\ X\ entries\ matching\ search\ filter
|
166
|
+
complete -c doing -l took -s t -f -r -n '__fish_doing_using_command finish' -d Set\ the\ completed\ date\ to\ the\ start\ date\ plus\ XX\[hmd\]
|
167
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command finish' -d Finish\ the\ last\ X\ entries\ containing\ TAG
|
168
|
+
complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command finish' -d Finish\ last\ entry
|
169
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command finish' -d Force\ exact\ search\ string\ matching
|
170
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command grep search' -d Search\ entries\ newer\ than\ date
|
171
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command grep search' -d Search\ entries\ older\ than\ date
|
172
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command grep search' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
173
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command grep search' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
174
|
+
complete -c doing -l from -f -r -n '__fish_doing_using_command grep search' -d Date\ range\ to\ show
|
175
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command grep search' -d Display\ an\ interactive\ menu\ of\ results\ to\ perform\ further\ operations
|
176
|
+
complete -c doing -l not -f -n '__fish_doing_using_command grep search' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string
|
177
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command grep search' -d Output\ to\ export\ format
|
178
|
+
complete -c doing -l only_timed -f -n '__fish_doing_using_command grep search' -d Only\ show\ items\ with\ recorded\ time\ intervals
|
179
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command grep search' -d Section
|
180
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command grep search' -d Show\ time\ intervals\ on\ @done\ tasks
|
181
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command grep search' -d Sort\ tags\ by
|
182
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command grep search' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
|
183
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command grep search' -d Force\ exact\ string\ matching
|
99
184
|
complete -c doing -F -n '__fish_doing_using_command import'
|
185
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command import' -d Import\ entries\ newer\ than\ date
|
186
|
+
complete -c doing -l autotag -f -n '__fish_doing_using_command import' -d Autotag\ entries
|
187
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command import' -d Import\ entries\ older\ than\ date
|
188
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command import' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
189
|
+
complete -c doing -l from -s f -f -r -n '__fish_doing_using_command import' -d Date\ range\ to\ import
|
190
|
+
complete -c doing -l not -f -n '__fish_doing_using_command import' -d Import\ items\ that\ \*don\'t\*\ match\ search/tag/date\ filters
|
191
|
+
complete -c doing -l only_timed -f -n '__fish_doing_using_command import' -d Only\ import\ items\ with\ recorded\ time\ intervals
|
192
|
+
complete -c doing -l overlap -f -n '__fish_doing_using_command import' -d Allow\ entries\ that\ overlap\ existing\ times
|
193
|
+
complete -c doing -l prefix -f -r -n '__fish_doing_using_command import' -d Prefix\ entries\ with
|
194
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command import' -d Target\ section
|
195
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command import' -d Only\ import\ items\ matching\ search
|
196
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command import' -d Tag\ all\ imported\ entries
|
197
|
+
complete -c doing -l type -f -r -n '__fish_doing_using_command import' -d Import\ type
|
198
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command import' -d Force\ exact\ search\ string\ matching
|
199
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command last' -d Tag\ boolean
|
200
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command last' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
201
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command last' -d Show\ elapsed\ time\ if\ entry\ is\ not\ tagged\ @done
|
202
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command last' -d Edit\ entry\ with\ vim
|
203
|
+
complete -c doing -l not -f -n '__fish_doing_using_command last' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string\ or\ tag\ filter
|
204
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command last' -d Specify\ a\ section
|
205
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command last' -d Search\ filter
|
206
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command last' -d Tag\ filter
|
207
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command last' -d Force\ exact\ search\ string\ matching
|
208
|
+
complete -c doing -l back -s b -f -r -n '__fish_doing_using_command later' -d Backdate\ start\ time\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
|
209
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command later' -d Edit\ entry\ with\ vim
|
210
|
+
complete -c doing -l note -s n -f -r -n '__fish_doing_using_command later' -d Note
|
211
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command mark flag' -d Boolean
|
212
|
+
complete -c doing -l count -s c -f -r -n '__fish_doing_using_command mark flag' -d How\ many\ recent\ entries\ to\ tag
|
213
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command mark flag' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
214
|
+
complete -c doing -l date -s d -f -n '__fish_doing_using_command mark flag' -d Include\ current\ date/time\ with\ tag
|
215
|
+
complete -c doing -l force -f -n '__fish_doing_using_command mark flag' -d Don\'t\ ask\ permission\ to\ flag\ all\ entries\ when\ count\ is\ 0
|
216
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command mark flag' -d Select\ item\(s\)\ to\ flag\ from\ a\ menu\ of\ matching\ entries
|
217
|
+
complete -c doing -l not -f -n '__fish_doing_using_command mark flag' -d Flag\ items\ that\ \*don\'t\*\ match\ search/tag/date\ filters
|
218
|
+
complete -c doing -l remove -s r -f -n '__fish_doing_using_command mark flag' -d Remove\ flag
|
219
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command mark flag' -d Section
|
220
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command mark flag' -d Flag\ the\ last\ entry\ matching\ search\ filter
|
221
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command mark flag' -d Flag\ the\ last\ entry\ containing\ TAG
|
222
|
+
complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command mark flag' -d Flag\ last\ entry
|
223
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command mark flag' -d Force\ exact\ search\ string\ matching
|
224
|
+
complete -c doing -l archive -s a -f -n '__fish_doing_using_command meanwhile' -d Archive\ previous\ @meanwhile\ entry
|
225
|
+
complete -c doing -l back -s b -f -r -n '__fish_doing_using_command meanwhile' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
|
226
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command meanwhile' -d Edit\ entry\ with\ vim
|
227
|
+
complete -c doing -l note -s n -f -r -n '__fish_doing_using_command meanwhile' -d Note
|
228
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command meanwhile' -d Section
|
229
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command note' -d Boolean
|
230
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command note' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
231
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command note' -d Edit\ entry\ with\ vim
|
232
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command note' -d Select\ item\ for\ new\ note\ from\ a\ menu\ of\ matching\ entries
|
233
|
+
complete -c doing -l not -f -n '__fish_doing_using_command note' -d Add\ note\ to\ item\ that\ \*doesn\'t\*\ match\ search/tag\ filters
|
234
|
+
complete -c doing -l remove -s r -f -n '__fish_doing_using_command note' -d Replace/Remove\ last\ entry\'s\ note
|
235
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command note' -d Section
|
236
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command note' -d Add/remove\ note\ from\ last\ entry\ matching\ search\ filter
|
237
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command note' -d Add/remove\ note\ from\ last\ entry\ matching\ tag
|
238
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command note' -d Force\ exact\ search\ string\ matching
|
239
|
+
complete -c doing -l started -f -r -n '__fish_doing_using_command now next' -d Backdate\ start\ time\ \[4pm\|20m\|2h\|\"yesterday\ noon\"\]
|
240
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command now next' -d Edit\ entry\ with\ vim
|
241
|
+
complete -c doing -l finish_last -s f -f -n '__fish_doing_using_command now next' -d Timed\ entry
|
242
|
+
complete -c doing -l note -s n -f -r -n '__fish_doing_using_command now next' -d Include\ a\ note
|
243
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command now next' -d Section
|
244
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command on' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
245
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command on' -d Output\ to\ export\ format
|
246
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command on' -d Section
|
247
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command on' -d Show\ time\ intervals\ on\ @done\ tasks
|
248
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command on' -d Sort\ tags\ by
|
249
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command on' -d Show\ time\ totals\ at\ the\ end\ of\ output
|
250
|
+
complete -c doing -l app -s a -f -r -n '__fish_doing_using_command open' -d Open\ with\ app\ name
|
251
|
+
complete -c doing -l bundle_id -s b -f -r -n '__fish_doing_using_command open' -d Open\ with\ app\ bundle\ id
|
252
|
+
complete -c doing -l editor -s e -f -r -n '__fish_doing_using_command open' -d Open\ with\ editor\ command
|
253
|
+
complete -c doing -l column -s c -f -n '__fish_doing_using_command plugins' -d List\ in\ single\ column\ for\ completion
|
254
|
+
complete -c doing -l type -s t -f -r -n '__fish_doing_using_command plugins' -d List\ plugins\ of\ type
|
255
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command recent' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
256
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command recent' -d Select\ from\ a\ menu\ of\ matching\ entries\ to\ perform\ additional\ operations
|
257
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command recent' -d Section
|
258
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command recent' -d Show\ time\ intervals\ on\ @done\ tasks
|
259
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command recent' -d Sort\ tags\ by
|
260
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command recent' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
|
261
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command reset begin' -d Boolean
|
262
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command reset begin' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
263
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command reset begin' -d Select\ from\ a\ menu\ of\ matching\ entries
|
264
|
+
complete -c doing -l not -f -n '__fish_doing_using_command reset begin' -d Reset\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
265
|
+
complete -c doing -l resume -s r -f -n '__fish_doing_using_command reset begin' -d Resume\ entry
|
266
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command reset begin' -d Limit\ search\ to\ section
|
267
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command reset begin' -d Reset\ last\ entry\ matching\ search\ filter
|
268
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command reset begin' -d Reset\ last\ entry\ matching\ tag
|
269
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command reset begin' -d Force\ exact\ search\ string\ matching
|
270
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command rotate' -d Rotate\ entries\ older\ than\ date
|
271
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command rotate' -d Tag\ boolean
|
272
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command rotate' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
273
|
+
complete -c doing -l keep -s k -f -r -n '__fish_doing_using_command rotate' -d How\ many\ items\ to\ keep\ in\ each\ section
|
274
|
+
complete -c doing -l not -f -n '__fish_doing_using_command rotate' -d Rotate\ items\ that\ \*don\'t\*\ match\ search\ string\ or\ tag\ filter
|
275
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command rotate' -d Section\ to\ rotate
|
276
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command rotate' -d Search\ filter
|
277
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command rotate' -d Tag\ filter
|
278
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command rotate' -d Force\ exact\ search\ string\ matching
|
279
|
+
complete -c doing -l column -s c -f -n '__fish_doing_using_command sections' -d List\ in\ single\ column
|
280
|
+
complete -c doing -l archive -s a -f -n '__fish_doing_using_command select' -d Archive\ selected\ items
|
281
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command select' -d Select\ from\ entries\ newer\ than\ date
|
282
|
+
complete -c doing -l resume -f -n '__fish_doing_using_command select' -d Copy\ selection\ as\ a\ new\ entry\ with\ current\ time\ and\ no\ @done\ tag
|
283
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command select' -d Select\ from\ entries\ older\ than\ date
|
284
|
+
complete -c doing -l cancel -s c -f -n '__fish_doing_using_command select' -d Cancel\ selected\ items
|
285
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command select' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
286
|
+
complete -c doing -l delete -s d -f -n '__fish_doing_using_command select' -d Delete\ selected\ items
|
287
|
+
complete -c doing -l editor -s e -f -n '__fish_doing_using_command select' -d Edit\ selected\ item\(s\)
|
288
|
+
complete -c doing -l finish -s f -f -n '__fish_doing_using_command select' -d Add\ @done\ with\ current\ time\ to\ selected\ item\(s\)
|
289
|
+
complete -c doing -l flag -f -n '__fish_doing_using_command select' -d Add\ flag\ to\ selected\ item\(s\)
|
290
|
+
complete -c doing -l force -f -n '__fish_doing_using_command select' -d Perform\ action\ without\ confirmation
|
291
|
+
complete -c doing -l from -f -r -n '__fish_doing_using_command select' -d Date\ range\ to\ show
|
292
|
+
complete -c doing -l move -s m -f -r -n '__fish_doing_using_command select' -d Move\ selected\ items\ to\ section
|
293
|
+
complete -c doing -l menu -f -n '__fish_doing_using_command select' -d Use\ --no-menu\ to\ skip\ the\ interactive\ menu
|
294
|
+
complete -c doing -l not -f -n '__fish_doing_using_command select' -d Select\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
295
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command select' -d Output\ entries\ to\ format
|
296
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command select' -d Initial\ search\ query\ for\ filtering
|
297
|
+
complete -c doing -l remove -s r -f -n '__fish_doing_using_command select' -d Reverse\ -c
|
298
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command select' -d Select\ from\ a\ specific\ section
|
299
|
+
complete -c doing -l save_to -f -r -n '__fish_doing_using_command select' -d Save\ selected\ entries\ to\ file\ using\ --output\ format
|
300
|
+
complete -c doing -l tag -s t -f -r -n '__fish_doing_using_command select' -d Tag\ selected\ entries
|
301
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command select' -d Force\ exact\ search\ string\ matching
|
302
|
+
complete -c doing -l age -s a -f -r -n '__fish_doing_using_command show' -d Age
|
303
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command show' -d Show\ entries\ newer\ than\ date
|
304
|
+
complete -c doing -l bool -s b -f -r -n '__fish_doing_using_command show' -d Tag\ boolean
|
305
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command show' -d Show\ entries\ older\ than\ date
|
306
|
+
complete -c doing -l count -s c -f -r -n '__fish_doing_using_command show' -d Max\ count\ to\ show
|
307
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command show' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
308
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command show' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
309
|
+
complete -c doing -l from -f -r -n '__fish_doing_using_command show' -d Date\ range\ to\ show
|
310
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command show' -d Select\ from\ a\ menu\ of\ matching\ entries\ to\ perform\ additional\ operations
|
311
|
+
complete -c doing -l menu -s m -f -n '__fish_doing_using_command show' -d Select\ section\ or\ tag\ to\ display\ from\ a\ menu
|
312
|
+
complete -c doing -l not -f -n '__fish_doing_using_command show' -d Show\ items\ that\ \*don\'t\*\ match\ search/tag/date\ filters
|
313
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command show' -d Output\ to\ export\ format
|
314
|
+
complete -c doing -l only_timed -f -n '__fish_doing_using_command show' -d Only\ show\ items\ with\ recorded\ time\ intervals
|
315
|
+
complete -c doing -l sort -s s -f -r -n '__fish_doing_using_command show' -d Sort\ order
|
316
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command show' -d Search\ filter
|
317
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command show' -d Show\ time\ intervals\ on\ @done\ tasks
|
318
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command show' -d Tag\ filter
|
319
|
+
complete -c doing -l tag_order -f -r -n '__fish_doing_using_command show' -d Tag\ sort\ direction
|
320
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command show' -d Sort\ tags\ by
|
321
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command show' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
|
322
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command show' -d Force\ exact\ search\ string\ matching
|
323
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command since' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
324
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command since' -d Output\ to\ export\ format
|
325
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command since' -d Section
|
326
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command since' -d Show\ time\ intervals\ on\ @done\ tasks
|
327
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command since' -d Sort\ tags\ by
|
328
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command since' -d Show\ time\ totals\ at\ the\ end\ of\ output
|
329
|
+
complete -c doing -l autotag -s a -f -n '__fish_doing_using_command tag' -d Autotag\ entries\ based\ on\ autotag\ configuration\ in\ \~/
|
330
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command tag' -d Boolean
|
331
|
+
complete -c doing -l count -s c -f -r -n '__fish_doing_using_command tag' -d How\ many\ recent\ entries\ to\ tag
|
332
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command tag' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
333
|
+
complete -c doing -l date -s d -f -n '__fish_doing_using_command tag' -d Include\ current\ date/time\ with\ tag
|
334
|
+
complete -c doing -l force -f -n '__fish_doing_using_command tag' -d Don\'t\ ask\ permission\ to\ tag\ all\ entries\ when\ count\ is\ 0
|
335
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command tag' -d Select\ item\(s\)\ to\ tag\ from\ a\ menu\ of\ matching\ entries
|
336
|
+
complete -c doing -l not -f -n '__fish_doing_using_command tag' -d Tag\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
337
|
+
complete -c doing -l remove -s r -f -n '__fish_doing_using_command tag' -d Remove\ given\ tag\(s\)
|
338
|
+
complete -c doing -l regex -f -n '__fish_doing_using_command tag' -d Interpret\ tag\ string\ as\ regular\ expression
|
339
|
+
complete -c doing -l rename -f -r -n '__fish_doing_using_command tag' -d Replace\ existing\ tag\ with\ tag\ argument
|
340
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command tag' -d Section
|
341
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command tag' -d Tag\ entries\ matching\ search\ filter
|
342
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command tag' -d Tag\ the\ last\ X\ entries\ containing\ TAG
|
343
|
+
complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command tag' -d Tag\ last\ entry
|
344
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command tag' -d Force\ exact\ search\ string\ matching
|
345
|
+
complete -c doing -l bool -f -r -n '__fish_doing_using_command tags' -d Boolean\ used\ to\ combine\ multiple\ tags
|
346
|
+
complete -c doing -l counts -s c -f -n '__fish_doing_using_command tags' -d Show\ count\ of\ occurrences
|
347
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command tags' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
348
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command tags' -d Select\ items\ to\ scan\ from\ a\ menu\ of\ matching\ entries
|
349
|
+
complete -c doing -l not -f -n '__fish_doing_using_command tags' -d Get\ tags\ from\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
|
350
|
+
complete -c doing -l order -s o -f -r -n '__fish_doing_using_command tags' -d Sort\ order
|
351
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command tags' -d Section
|
352
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command tags' -d Get\ tags\ for\ items\ matching\ search
|
353
|
+
complete -c doing -l sort -f -r -n '__fish_doing_using_command tags' -d Sort\ by\ name\ or\ count
|
354
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command tags' -d Get\ tags\ for\ entries\ matching\ tags
|
355
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command tags' -d Force\ exact\ search\ string\ matching
|
356
|
+
complete -c doing -l column -s c -f -n '__fish_doing_using_command template' -d List\ in\ single\ column\ for\ completion
|
357
|
+
complete -c doing -l list -s l -f -n '__fish_doing_using_command template' -d List\ all\ available\ templates
|
358
|
+
complete -c doing -l path -s p -f -r -n '__fish_doing_using_command template' -d Save\ template\ to\ alternate\ location
|
359
|
+
complete -c doing -l save -s s -f -n '__fish_doing_using_command template' -d Save\ template\ to\ file\ instead\ of\ STDOUT
|
360
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command today' -d View\ entries\ after\ specified\ time
|
361
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command today' -d View\ entries\ before\ specified\ time
|
362
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command today' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
363
|
+
complete -c doing -l from -f -r -n '__fish_doing_using_command today' -d Time\ range\ to\ show\ \`doing\ today\ --from\ \"12pm\ to\ 4pm\"\`
|
364
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command today' -d Output\ to\ export\ format
|
365
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command today' -d Specify\ a\ section
|
366
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command today' -d Show\ time\ intervals\ on\ @done\ tasks
|
367
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command today' -d Sort\ tags\ by
|
368
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command today' -d Show\ time\ totals\ at\ the\ end\ of\ output
|
369
|
+
complete -c doing -l file -s f -f -r -n '__fish_doing_using_command undo' -d Specify\ alternate\ doing\ file
|
370
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command undo' -d Select\ from\ recent\ backups
|
371
|
+
complete -c doing -l prune -s p -f -r -n '__fish_doing_using_command undo' -d Remove\ old\ backups
|
372
|
+
complete -c doing -l redo -s r -f -n '__fish_doing_using_command undo' -d Redo\ last\ undo
|
373
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command view' -d View\ entries\ newer\ than\ date
|
374
|
+
complete -c doing -l bool -s b -f -r -n '__fish_doing_using_command view' -d Tag\ boolean
|
375
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command view' -d View\ entries\ older\ than\ date
|
376
|
+
complete -c doing -l count -s c -f -r -n '__fish_doing_using_command view' -d Count\ to\ display
|
377
|
+
complete -c doing -l case -f -r -n '__fish_doing_using_command view' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
|
378
|
+
complete -c doing -l color -f -n '__fish_doing_using_command view' -d Include\ colors\ in\ output
|
379
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command view' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
380
|
+
complete -c doing -l from -f -r -n '__fish_doing_using_command view' -d Date\ range\ to\ show
|
381
|
+
complete -c doing -l interactive -s i -f -n '__fish_doing_using_command view' -d Select\ from\ a\ menu\ of\ matching\ entries\ to\ perform\ additional\ operations
|
382
|
+
complete -c doing -l not -f -n '__fish_doing_using_command view' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string
|
383
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command view' -d Output\ to\ export\ format
|
384
|
+
complete -c doing -l only_timed -f -n '__fish_doing_using_command view' -d Only\ show\ items\ with\ recorded\ time\ intervals
|
385
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command view' -d Section
|
386
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command view' -d Search\ filter
|
387
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command view' -d Show\ time\ intervals\ on\ @done\ tasks
|
388
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command view' -d Tag\ filter
|
389
|
+
complete -c doing -l tag_order -f -r -n '__fish_doing_using_command view' -d Tag\ sort\ direction
|
390
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command view' -d Sort\ tags\ by
|
391
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command view' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
|
392
|
+
complete -c doing -l exact -s x -f -n '__fish_doing_using_command view' -d Force\ exact\ search\ string\ matching
|
393
|
+
complete -c doing -l column -s c -f -n '__fish_doing_using_command views' -d List\ in\ single\ column
|
394
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command wiki' -d Include\ entries\ newer\ than\ date
|
395
|
+
complete -c doing -l bool -s b -f -r -n '__fish_doing_using_command wiki' -d Tag\ boolean
|
396
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command wiki' -d Include\ entries\ older\ than\ date
|
397
|
+
complete -c doing -l from -s f -f -r -n '__fish_doing_using_command wiki' -d Date\ range\ to\ include
|
398
|
+
complete -c doing -l only_timed -f -n '__fish_doing_using_command wiki' -d Only\ show\ items\ with\ recorded\ time\ intervals
|
399
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command wiki' -d Section\ to\ rotate
|
400
|
+
complete -c doing -l search -f -r -n '__fish_doing_using_command wiki' -d Search\ filter
|
401
|
+
complete -c doing -l tag -f -r -n '__fish_doing_using_command wiki' -d Tag\ filter
|
402
|
+
complete -c doing -l after -f -r -n '__fish_doing_using_command yesterday' -d View\ entries\ after\ specified\ time
|
403
|
+
complete -c doing -l before -f -r -n '__fish_doing_using_command yesterday' -d View\ entries\ before\ specified\ time
|
404
|
+
complete -c doing -l duration -f -n '__fish_doing_using_command yesterday' -d Show\ elapsed\ time\ on\ entries\ without\ @done\ tag
|
405
|
+
complete -c doing -l from -f -r -n '__fish_doing_using_command yesterday' -d Time\ range\ to\ show
|
406
|
+
complete -c doing -l output -s o -f -r -n '__fish_doing_using_command yesterday' -d Output\ to\ export\ format
|
407
|
+
complete -c doing -l section -s s -f -r -n '__fish_doing_using_command yesterday' -d Specify\ a\ section
|
408
|
+
complete -c doing -l times -s t -f -n '__fish_doing_using_command yesterday' -d Show\ time\ intervals\ on\ @done\ tasks
|
409
|
+
complete -c doing -l tag_order -f -r -n '__fish_doing_using_command yesterday' -d Tag\ sort\ direction
|
410
|
+
complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command yesterday' -d Sort\ tags\ by
|
411
|
+
complete -c doing -l totals -f -n '__fish_doing_using_command yesterday' -d Show\ time\ totals\ at\ the\ end\ of\ output
|
412
|
+
complete -f -c doing -s o -l output -x -n '__fish_doing_using_command grep search on select show since today view yesterday' -a '(__fish_doing_export_plugins)'
|
413
|
+
complete -f -c doing -s b -l bool -x -n '__fish_doing_using_command again resume archive move autotag cancel finish last mark flag note reset begin rotate show tag tags view wiki' -a 'and or not pattern'
|
414
|
+
complete -f -c doing -l case -x -n '__fish_doing_using_command again resume archive move cancel finish grep search import last mark flag note reset begin rotate select show show tag tags tags view' -a 'case-sensitive ignore smart'
|
415
|
+
complete -f -c doing -l tag_sort -x -n '__fish_doing_using_command grep search on recent show since today view yesterday' -a 'name time'
|
416
|
+
complete -f -c doing -l tag_order -x -n '__fish_doing_using_command show view yesterday' -a 'asc desc'
|
417
|
+
complete -f -c doing -s a -l age -x -n '__fish_doing_using_command show' -a 'oldest newest'
|
418
|
+
complete -f -c doing -s s -l section -x -n '__fish_doing_using_command again resume autotag cancel done did finish grep search import last mark flag meanwhile note now next on recent reset begin rotate select since tag tags today view wiki yesterday' -a '(__fish_doing_complete_sections)'
|
data/lib/doing/array.rb
CHANGED
@@ -5,6 +5,15 @@ module Doing
|
|
5
5
|
## Array helpers
|
6
6
|
##
|
7
7
|
class ::Array
|
8
|
+
##
|
9
|
+
## Convert an @tags to plain strings
|
10
|
+
##
|
11
|
+
## @return [Array] array of strings
|
12
|
+
##
|
13
|
+
def tags_to_array
|
14
|
+
map { |t| t.sub(/^@/, '') }
|
15
|
+
end
|
16
|
+
|
8
17
|
# Convert strings to @tags
|
9
18
|
#
|
10
19
|
# @example `['one', '@two', 'three'].to_tags`
|
@@ -9,7 +9,7 @@ module Doing
|
|
9
9
|
function __fish_doing_needs_command
|
10
10
|
# Figure out if the current invocation already has a command.
|
11
11
|
|
12
|
-
set -l opts h-help config_file= f-doing_file= n-notes v-version stdout
|
12
|
+
set -l opts color h-help config_file= f-doing_file= n-notes v-version stdout debug default x-noauto no p-pager q-quiet yes
|
13
13
|
set cmd (commandline -opc)
|
14
14
|
set -e cmd[1]
|
15
15
|
argparse -s $opts -- $cmd 2>/dev/null
|
@@ -80,12 +80,13 @@ module Doing
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def parse_option(option)
|
83
|
-
res = option.match(/(?:-(?<short>\w), )?(?:--(?:\[no-\])?(?<long
|
83
|
+
res = option.match(/(?:-(?<short>\w), )?(?:--(?:\[no-\])?(?<long>\w+)(?:=(?<arg>\w+))?)\s+- (?<desc>.*?)$/)
|
84
84
|
return nil unless res
|
85
|
+
|
85
86
|
{
|
86
87
|
short: res['short'],
|
87
88
|
long: res['long'],
|
88
|
-
arg: res[
|
89
|
+
arg: res['arg'],
|
89
90
|
description: res['desc'].short_desc
|
90
91
|
}
|
91
92
|
end
|
@@ -122,6 +123,13 @@ module Doing
|
|
122
123
|
|
123
124
|
out = []
|
124
125
|
need_export = []
|
126
|
+
need_bool = []
|
127
|
+
need_case = []
|
128
|
+
need_sort = []
|
129
|
+
need_tag_sort = []
|
130
|
+
need_tag_order = []
|
131
|
+
need_age = []
|
132
|
+
need_section = []
|
125
133
|
|
126
134
|
@commands.each_with_index do |cmd, i|
|
127
135
|
@bar.advance
|
@@ -141,6 +149,13 @@ module Doing
|
|
141
149
|
out << "complete -c doing #{long} #{short} -f #{arg} -n '__fish_doing_using_command #{cmd[:commands].join(' ')}' -d #{Shellwords.escape(option[:description])}"
|
142
150
|
|
143
151
|
need_export.concat(cmd[:commands]) if option[:long] == 'output'
|
152
|
+
need_bool.concat(cmd[:commands]) if option[:long] == 'bool'
|
153
|
+
need_case.concat(cmd[:commands]) if option[:long] == 'case'
|
154
|
+
need_case.concat(cmd[:commands]) if option[:long] == 'sort'
|
155
|
+
need_tag_sort.concat(cmd[:commands]) if option[:long] == 'tag_sort'
|
156
|
+
need_tag_order.concat(cmd[:commands]) if option[:long] == 'tag_order'
|
157
|
+
need_age.concat(cmd[:commands]) if option[:long] == 'age'
|
158
|
+
need_section.concat(cmd[:commands]) if option[:long] == 'section'
|
144
159
|
end
|
145
160
|
end
|
146
161
|
end
|
@@ -149,6 +164,34 @@ module Doing
|
|
149
164
|
out << "complete -f -c doing -s o -l output -x -n '__fish_doing_using_command #{need_export.join(' ')}' -a '(__fish_doing_export_plugins)'"
|
150
165
|
end
|
151
166
|
|
167
|
+
unless need_bool.empty?
|
168
|
+
out << "complete -f -c doing -s b -l bool -x -n '__fish_doing_using_command #{need_bool.join(' ')}' -a 'and or not pattern'"
|
169
|
+
end
|
170
|
+
|
171
|
+
unless need_case.empty?
|
172
|
+
out << "complete -f -c doing -l case -x -n '__fish_doing_using_command #{need_case.join(' ')}' -a 'case-sensitive ignore smart'"
|
173
|
+
end
|
174
|
+
|
175
|
+
unless need_sort.empty?
|
176
|
+
out << "complete -f -c doing -l sort -x -n '__fish_doing_using_command #{need_sort.join(' ')}' -a 'asc desc'"
|
177
|
+
end
|
178
|
+
|
179
|
+
unless need_tag_sort.empty?
|
180
|
+
out << "complete -f -c doing -l tag_sort -x -n '__fish_doing_using_command #{need_tag_sort.join(' ')}' -a 'name time'"
|
181
|
+
end
|
182
|
+
|
183
|
+
unless need_tag_order.empty?
|
184
|
+
out << "complete -f -c doing -l tag_order -x -n '__fish_doing_using_command #{need_tag_order.join(' ')}' -a 'asc desc'"
|
185
|
+
end
|
186
|
+
|
187
|
+
unless need_age.empty?
|
188
|
+
out << "complete -f -c doing -s a -l age -x -n '__fish_doing_using_command #{need_age.join(' ')}' -a 'oldest newest'"
|
189
|
+
end
|
190
|
+
|
191
|
+
unless need_section.empty?
|
192
|
+
out << "complete -f -c doing -s s -l section -x -n '__fish_doing_using_command #{need_section.join(' ')}' -a '(__fish_doing_complete_sections)'"
|
193
|
+
end
|
194
|
+
|
152
195
|
# clear
|
153
196
|
out.join("\n")
|
154
197
|
end
|
@@ -51,7 +51,7 @@ module Doing
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def parse_option(option)
|
54
|
-
res = option.match(/(?:-(?<short>\w), )?(?:--(?:\[no-\])?(?<long
|
54
|
+
res = option.match(/(?:-(?<short>\w), )?(?:--(?:\[no-\])?(?<long>\w+)(?:=(?<arg>\w+))?)\s+- (?<desc>.*?)$/)
|
55
55
|
return nil unless res
|
56
56
|
|
57
57
|
{
|
data/lib/doing/configuration.rb
CHANGED
@@ -29,9 +29,10 @@ module Doing
|
|
29
29
|
'plugin_path' => File.join(Util.user_home, '.config', 'doing', 'plugins'),
|
30
30
|
'command_path' => File.join(Util.user_home, '.config', 'doing', 'commands')
|
31
31
|
},
|
32
|
-
'doing_file' => '
|
33
|
-
'backup_dir' => '~/.doing_backup',
|
32
|
+
'doing_file' => '~/.local/share/doing/what_was_i_doing.md',
|
33
|
+
'backup_dir' => '~/.local/share/doing/doing_backup',
|
34
34
|
'current_section' => 'Currently',
|
35
|
+
'history_size' => 15,
|
35
36
|
'paginate' => false,
|
36
37
|
'never_time' => [],
|
37
38
|
'never_finish' => [],
|
@@ -43,7 +44,8 @@ module Doing
|
|
43
44
|
'templates' => {
|
44
45
|
'default' => {
|
45
46
|
'date_format' => '%Y-%m-%d %H:%M',
|
46
|
-
'template' => '%
|
47
|
+
'template' => '%reset%cyan%shortdate %boldwhite%80║ title %dark%boldmagenta[%boldwhite%-10section%boldmagenta]%reset
|
48
|
+
%yellow%interval%boldred%duration%dark%white%80_14┃ note',
|
47
49
|
'wrap_width' => 0,
|
48
50
|
'order' => 'asc'
|
49
51
|
},
|
@@ -60,7 +62,8 @@ module Doing
|
|
60
62
|
},
|
61
63
|
'recent' => {
|
62
64
|
'date_format' => '%_I:%M%P',
|
63
|
-
'template' => '%shortdate
|
65
|
+
'template' => '%reset%cyan%shortdate %boldwhite%80║ title %dark%boldmagenta[%boldwhite%-10section%boldmagenta]%reset
|
66
|
+
%yellow%interval%boldred%duration%dark%white%80_14┃ note',
|
64
67
|
'wrap_width' => 88,
|
65
68
|
'count' => 10,
|
66
69
|
'order' => 'asc'
|
@@ -72,7 +75,7 @@ module Doing
|
|
72
75
|
'views' => {
|
73
76
|
'done' => {
|
74
77
|
'date_format' => '%_I:%M%P',
|
75
|
-
'template' => '%date | %title%note',
|
78
|
+
'template' => '%date | %title (%section)% 18: note',
|
76
79
|
'wrap_width' => 0,
|
77
80
|
'section' => 'All',
|
78
81
|
'count' => 0,
|
@@ -93,6 +96,11 @@ module Doing
|
|
93
96
|
'marker_color' => 'red',
|
94
97
|
'default_tags' => [],
|
95
98
|
'tag_sort' => 'name',
|
99
|
+
'search' => {
|
100
|
+
'matching' => 'pattern', # fuzzy, pattern, exact
|
101
|
+
'distance' => 3,
|
102
|
+
'case' => 'smart' # sensitive, ignore, smart
|
103
|
+
},
|
96
104
|
'include_notes' => true
|
97
105
|
}
|
98
106
|
|
@@ -110,6 +118,17 @@ module Doing
|
|
110
118
|
@config_dir ||= File.join(Util.user_home, '.config', 'doing')
|
111
119
|
end
|
112
120
|
|
121
|
+
##
|
122
|
+
## Check if configuration enforces exact string matching
|
123
|
+
##
|
124
|
+
## @return [Boolean] exact matching enabled
|
125
|
+
##
|
126
|
+
def exact_match?
|
127
|
+
search_settings = @settings['search']
|
128
|
+
matching = search_settings.fetch('matching', 'pattern').normalize_matching
|
129
|
+
matching == :exact
|
130
|
+
end
|
131
|
+
|
113
132
|
def default_config_file
|
114
133
|
if File.exist?(config_dir) && !File.directory?(config_dir)
|
115
134
|
raise DoingRuntimeError, "#{config_dir} exists but is not a directory"
|
@@ -220,11 +239,15 @@ module Doing
|
|
220
239
|
cfg.nil? ? nil : { real_path[-1] => cfg }
|
221
240
|
end
|
222
241
|
|
223
|
-
# It takes the input, fills in the defaults where values
|
242
|
+
# It takes the input, fills in the defaults where values
|
243
|
+
# do not exist.
|
244
|
+
#
|
245
|
+
# @param user_config a Hash or Configuration of
|
246
|
+
# overrides.
|
224
247
|
#
|
225
|
-
#
|
248
|
+
# @return [Hash] a Configuration filled with
|
249
|
+
# defaults.
|
226
250
|
#
|
227
|
-
# Returns a Configuration filled with defaults.
|
228
251
|
def from(user_config)
|
229
252
|
Util.deep_merge_hashes(DEFAULTS, Configuration[user_config].stringify_keys)
|
230
253
|
end
|
@@ -239,14 +262,13 @@ module Doing
|
|
239
262
|
old_file = File.join(Util.user_home, '.doingrc')
|
240
263
|
return unless File.exist?(old_file)
|
241
264
|
|
242
|
-
wwid = Doing::WWID.new
|
243
265
|
Doing.logger.log_now(:warn, 'Deprecated:', "main config file location has changed to #{config_file}")
|
244
|
-
res =
|
266
|
+
res = Prompt.yn("Move #{old_file} to new location, preserving settings?", default_response: true)
|
245
267
|
|
246
268
|
return unless res
|
247
269
|
|
248
270
|
if File.exist?(default_config_file)
|
249
|
-
res =
|
271
|
+
res = Prompt.yn("#{default_config_file} already exists, overwrite it?", default_response: false)
|
250
272
|
|
251
273
|
unless res
|
252
274
|
@config_file = old_file
|
data/lib/doing/item.rb
CHANGED
@@ -7,7 +7,7 @@ module Doing
|
|
7
7
|
class Item
|
8
8
|
attr_accessor :date, :title, :section, :note
|
9
9
|
|
10
|
-
attr_reader :id
|
10
|
+
# attr_reader :id
|
11
11
|
|
12
12
|
##
|
13
13
|
## Initialize an item with date, title, section, and
|
@@ -162,6 +162,10 @@ module Doing
|
|
162
162
|
@title.scan(/(?<= |\A)@([^\s(]+)/).map { |tag| tag[0] }.sort.uniq
|
163
163
|
end
|
164
164
|
|
165
|
+
def tag_array
|
166
|
+
tags.tags_to_array
|
167
|
+
end
|
168
|
+
|
165
169
|
##
|
166
170
|
## Test if item contains tag(s)
|
167
171
|
##
|
@@ -208,8 +212,13 @@ module Doing
|
|
208
212
|
##
|
209
213
|
## @return [Boolean] matches search criteria
|
210
214
|
##
|
211
|
-
def search(search, distance:
|
212
|
-
|
215
|
+
def search(search, distance: nil, negate: false, case_type: nil)
|
216
|
+
prefs = Doing.config.settings['search'] || {}
|
217
|
+
matching = prefs.fetch('matching', 'pattern').normalize_matching
|
218
|
+
distance ||= prefs.fetch('distance', 3).to_i
|
219
|
+
case_type ||= prefs.fetch('case', 'smart').normalize_case
|
220
|
+
|
221
|
+
if search.is_rx? || matching == :fuzzy
|
213
222
|
matches = @title + @note.to_s =~ search.to_rx(distance: distance, case_type: case_type)
|
214
223
|
else
|
215
224
|
query = to_phrase_query(search.strip)
|