doing 2.1.30 → 2.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.irbrc +1 -0
- data/CHANGELOG.md +4972 -0
- data/Dockerfile-2.6 +3 -1
- data/Dockerfile-2.7 +4 -2
- data/Dockerfile-3.0 +3 -1
- data/Gemfile.lock +1 -67
- data/README.md +1 -1
- data/bash_profile +13 -0
- data/bin/commands/again.rb +1 -1
- data/bin/commands/archive.rb +3 -3
- data/bin/commands/cancel.rb +1 -1
- data/bin/commands/commands.rb +8 -8
- data/bin/commands/completion.rb +61 -19
- data/bin/commands/config.rb +22 -19
- data/bin/commands/done.rb +2 -2
- data/bin/commands/flag.rb +1 -1
- data/bin/commands/grep.rb +6 -33
- data/bin/commands/last.rb +1 -1
- data/bin/commands/meanwhile.rb +2 -2
- data/bin/commands/now.rb +2 -2
- data/bin/commands/on.rb +6 -16
- data/bin/commands/open.rb +1 -1
- data/bin/commands/recent.rb +5 -17
- data/bin/commands/rotate.rb +17 -0
- data/bin/commands/sections.rb +82 -7
- data/bin/commands/show.rb +8 -28
- data/bin/commands/since.rb +5 -16
- data/bin/commands/tag_dir.rb +27 -3
- data/bin/commands/today.rb +3 -28
- data/bin/commands/view.rb +3 -3
- data/bin/commands/yesterday.rb +3 -36
- data/bin/doing +29 -139
- data/docs/doc/Array.html +1 -1
- data/docs/doc/BooleanTermParser/Clause.html +1 -1
- data/docs/doc/BooleanTermParser/Operator.html +1 -1
- data/docs/doc/BooleanTermParser/Query.html +1 -1
- data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
- data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
- data/docs/doc/BooleanTermParser.html +1 -1
- data/docs/doc/Doing/Color.html +1 -1
- data/docs/doc/Doing/Completion.html +324 -4
- data/docs/doc/Doing/Configuration.html +3 -3
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
- data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
- data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
- data/docs/doc/Doing/Errors/NoResults.html +1 -1
- data/docs/doc/Doing/Errors/PluginException.html +1 -1
- data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
- data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
- data/docs/doc/Doing/Errors.html +1 -1
- data/docs/doc/Doing/Hooks.html +1 -1
- data/docs/doc/Doing/Item.html +144 -3
- data/docs/doc/Doing/Items.html +209 -1
- data/docs/doc/Doing/LogAdapter.html +1 -1
- data/docs/doc/Doing/Logger.html +1807 -0
- data/docs/doc/Doing/Note.html +109 -3
- data/docs/doc/Doing/Pager.html +1 -1
- data/docs/doc/Doing/Plugins.html +1 -1
- data/docs/doc/Doing/Prompt.html +1 -1
- data/docs/doc/Doing/Section.html +1 -1
- data/docs/doc/Doing/TemplateString.html +1 -1
- data/docs/doc/Doing/Types.html +3 -3
- data/docs/doc/Doing/Util/Backup.html +1 -1
- data/docs/doc/Doing/Util.html +1 -1
- data/docs/doc/Doing/WWID.html +8 -58
- data/docs/doc/Doing.html +4 -4
- data/docs/doc/FalseClass.html +1 -1
- data/docs/doc/GLI/Commands/Help.html +1 -1
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/docs/doc/GLI/Commands.html +1 -1
- data/docs/doc/GLI.html +1 -1
- data/docs/doc/Hash.html +1 -1
- data/docs/doc/Object.html +1 -1
- data/docs/doc/PhraseParser/Operator.html +1 -1
- data/docs/doc/PhraseParser/PhraseClause.html +1 -1
- data/docs/doc/PhraseParser/Query.html +1 -1
- data/docs/doc/PhraseParser/QueryParser.html +1 -1
- data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
- data/docs/doc/PhraseParser/TermClause.html +1 -1
- data/docs/doc/PhraseParser.html +1 -1
- data/docs/doc/Status.html +1 -1
- data/docs/doc/String.html +1 -1
- data/docs/doc/Symbol.html +1 -1
- data/docs/doc/Time.html +1 -1
- data/docs/doc/TrueClass.html +1 -1
- data/docs/doc/_index.html +12 -10
- data/docs/doc/class_list.html +1 -1
- data/docs/doc/file.README.html +2 -2
- data/docs/doc/index.html +2 -2
- data/docs/doc/method_list.html +424 -304
- data/docs/doc/top-level-namespace.html +105 -1
- data/docs/index.md +1 -1
- data/doing.gemspec +24 -24
- data/doing.rdoc +259 -26
- data/example_plugin.rb +7 -5
- data/inputrc +57 -0
- data/lib/completion/_doing.zsh +48 -52
- data/lib/completion/doing.bash +14 -25
- data/lib/completion/doing.fish +41 -15
- data/lib/doing/add_options.rb +152 -0
- data/lib/doing/array/array.rb +16 -0
- data/lib/doing/changelog/changes.rb +1 -1
- data/lib/doing/chronify/string.rb +1 -1
- data/lib/doing/completion/bash_completion.rb +12 -51
- data/lib/doing/completion/fish_completion.rb +17 -53
- data/lib/doing/completion/zsh_completion.rb +21 -59
- data/lib/doing/completion.rb +203 -17
- data/lib/doing/configuration.rb +7 -1
- data/lib/doing/item.rb +30 -5
- data/lib/doing/items.rb +53 -5
- data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
- data/lib/doing/note.rb +24 -8
- data/lib/doing/plugins/export/dayone_export.rb +8 -6
- data/lib/doing/plugins/export/html_export.rb +4 -4
- data/lib/doing/plugins/export/json_export.rb +19 -20
- data/lib/doing/plugins/export/markdown_export.rb +2 -2
- data/lib/doing/plugins/export/template_export.rb +4 -4
- data/lib/doing/plugins/import/calendar_import.rb +2 -2
- data/lib/doing/plugins/import/doing_import.rb +2 -2
- data/lib/doing/plugins/import/timing_import.rb +2 -2
- data/lib/doing/string/highlight.rb +3 -4
- data/lib/doing/string/string.rb +8 -0
- data/lib/doing/string/tags.rb +1 -1
- data/lib/doing/types.rb +2 -2
- data/lib/doing/util.rb +1 -1
- data/lib/doing/util_backup.rb +12 -12
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +119 -120
- data/lib/doing.rb +61 -3
- data/lib/examples/commands/wiki.rb +27 -19
- data/lib/examples/plugins/capture_thing_import.rb +1 -1
- data/lib/helpers/threaded_tests.rb +2 -0
- data/scripts/setting_replace.rb +11 -0
- metadata +109 -124
- data/.yardoc/checksums +0 -29
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/bin/commands/add_section.rb +0 -15
data/bin/doing
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
$LOAD_PATH.unshift File.join(__dir__, '..', 'lib')
|
|
5
5
|
require 'gli'
|
|
6
6
|
require 'doing/help_monkey_patch'
|
|
7
|
+
require 'doing/add_options'
|
|
7
8
|
require 'doing'
|
|
8
9
|
require 'tempfile'
|
|
9
10
|
require 'pp'
|
|
@@ -26,6 +27,7 @@ include Doing::Errors
|
|
|
26
27
|
version Doing::VERSION
|
|
27
28
|
hide_commands_without_desc true
|
|
28
29
|
autocomplete_commands true
|
|
30
|
+
wrap_help_text :one_line unless $stdout.isatty
|
|
29
31
|
|
|
30
32
|
include Doing::Types
|
|
31
33
|
|
|
@@ -35,7 +37,9 @@ include Doing::Types
|
|
|
35
37
|
Doing.logger.log_level = :info
|
|
36
38
|
env_log_level = nil
|
|
37
39
|
|
|
38
|
-
if ENV['DOING_LOG_LEVEL'] ||
|
|
40
|
+
if ENV['DOING_LOG_LEVEL'] ||
|
|
41
|
+
ENV['DOING_DEBUG'] || ENV['DOING_QUIET'] ||
|
|
42
|
+
ENV['DOING_VERBOSE'] || ENV['DOING_PLUGIN_DEBUG']
|
|
39
43
|
env_log_level = true
|
|
40
44
|
# Quiet always wins
|
|
41
45
|
if ENV['DOING_QUIET']&.truthy?
|
|
@@ -53,21 +57,19 @@ Doing.logger.benchmark(:total, :start)
|
|
|
53
57
|
|
|
54
58
|
Doing.logger.benchmark(:configure, :start)
|
|
55
59
|
Doing.config_with(ENV['DOING_CONFIG'], { ignore_local: true }) if ENV['DOING_CONFIG']
|
|
56
|
-
@config = Doing.config
|
|
57
60
|
Doing.logger.benchmark(:configure, :finish)
|
|
58
61
|
|
|
59
|
-
|
|
60
|
-
@settings = @config.settings
|
|
61
|
-
@wwid.config = @settings
|
|
62
|
+
Doing.set('backup_dir', ENV['DOING_BACKUP_DIR']) if ENV['DOING_BACKUP_DIR']
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
# Set up class vars for backwards compatibility
|
|
65
|
+
@settings = Doing.settings
|
|
64
66
|
|
|
65
67
|
accept BooleanSymbol do |value|
|
|
66
68
|
value.normalize_bool(:pattern)
|
|
67
69
|
end
|
|
68
70
|
|
|
69
71
|
accept CaseSymbol do |value|
|
|
70
|
-
value.normalize_case(
|
|
72
|
+
value.normalize_case(Doing.config.fetch('search', 'case', :smart))
|
|
71
73
|
end
|
|
72
74
|
|
|
73
75
|
accept AgeSymbol do |value|
|
|
@@ -83,11 +85,11 @@ accept MatchingSymbol do |value|
|
|
|
83
85
|
end
|
|
84
86
|
|
|
85
87
|
accept TagSortSymbol do |value|
|
|
86
|
-
value.normalize_tag_sort(
|
|
88
|
+
value.normalize_tag_sort(Doing.config.fetch('tag_sort', :name))
|
|
87
89
|
end
|
|
88
90
|
|
|
89
91
|
accept TemplateName do |value|
|
|
90
|
-
res =
|
|
92
|
+
res = Doing.setting('templates').keys.select { |k| k =~ value.to_rx(distance: 2) }
|
|
91
93
|
raise InvalidArgument, "Unknown template: #{value}" unless res.good?
|
|
92
94
|
|
|
93
95
|
res.group_by(&:length).min.last[0]
|
|
@@ -141,122 +143,6 @@ accept TagArray do |value|
|
|
|
141
143
|
value.gsub(/[, ]+/, ' ').split(' ').map { |tag| tag.sub(/^@/, '') }.map(&:strip)
|
|
142
144
|
end
|
|
143
145
|
|
|
144
|
-
##
|
|
145
|
-
## Add presets of flags and switches to a command.
|
|
146
|
-
##
|
|
147
|
-
## :add_entry => --noauto, --note, --ask, --editor, --back
|
|
148
|
-
##
|
|
149
|
-
## :search => --search, --case, --exact
|
|
150
|
-
##
|
|
151
|
-
## :tag_filter => --tag, --bool, --not, --val
|
|
152
|
-
##
|
|
153
|
-
## :date_filter => --before, --after, --from
|
|
154
|
-
##
|
|
155
|
-
## @param type [Symbol] The type
|
|
156
|
-
## @param cmd The GLI command to which the options will be added
|
|
157
|
-
##
|
|
158
|
-
def add_options(type, cmd)
|
|
159
|
-
cmd_name = cmd.name.to_s
|
|
160
|
-
action = case cmd_name
|
|
161
|
-
when /again/
|
|
162
|
-
'Repeat'
|
|
163
|
-
when /grep/
|
|
164
|
-
'Search'
|
|
165
|
-
when /mark/
|
|
166
|
-
'Flag'
|
|
167
|
-
when /(last|tags|view)/
|
|
168
|
-
'Show'
|
|
169
|
-
else
|
|
170
|
-
cmd_name.capitalize
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
case type
|
|
174
|
-
when :add_entry
|
|
175
|
-
cmd.desc 'Exclude auto tags and default tags'
|
|
176
|
-
cmd.switch %i[X noauto], default_value: false, negatable: false
|
|
177
|
-
|
|
178
|
-
cmd.desc 'Include a note'
|
|
179
|
-
cmd.arg_name 'TEXT'
|
|
180
|
-
cmd.flag %i[n note]
|
|
181
|
-
|
|
182
|
-
cmd.desc 'Prompt for note via multi-line input'
|
|
183
|
-
cmd.switch %i[ask], negatable: false, default_value: false
|
|
184
|
-
|
|
185
|
-
cmd.desc "Edit entry with #{Doing::Util.default_editor}"
|
|
186
|
-
cmd.switch %i[e editor], negatable: false, default_value: false
|
|
187
|
-
|
|
188
|
-
cmd.desc 'Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]'
|
|
189
|
-
cmd.arg_name 'DATE_STRING'
|
|
190
|
-
cmd.flag %i[b back started], type: DateBeginString
|
|
191
|
-
when :search
|
|
192
|
-
cmd.desc 'Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"),
|
|
193
|
-
start with single quote for exact match ("\'query")'
|
|
194
|
-
cmd.arg_name 'QUERY'
|
|
195
|
-
cmd.flag [:search]
|
|
196
|
-
|
|
197
|
-
cmd.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
|
|
198
|
-
cmd.arg_name 'TYPE'
|
|
199
|
-
cmd.flag [:case], must_match: REGEX_CASE,
|
|
200
|
-
default_value: @settings.dig('search', 'case').normalize_case,
|
|
201
|
-
type: CaseSymbol
|
|
202
|
-
|
|
203
|
-
cmd.desc 'Force exact search string matching (case sensitive)'
|
|
204
|
-
cmd.switch %i[x exact], default_value: @config.exact_match?, negatable: @config.exact_match?
|
|
205
|
-
when :tag_filter
|
|
206
|
-
cmd.desc 'Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?)'
|
|
207
|
-
cmd.arg_name 'TAG'
|
|
208
|
-
cmd.flag [:tag], type: TagArray
|
|
209
|
-
|
|
210
|
-
cmd.desc 'Perform a tag value query ("@done > two hours ago" or "@progress < 50").
|
|
211
|
-
May be used multiple times, combined with --bool'
|
|
212
|
-
cmd.arg_name 'QUERY'
|
|
213
|
-
cmd.flag [:val], multiple: true, must_match: REGEX_VALUE_QUERY
|
|
214
|
-
|
|
215
|
-
cmd.desc "#{action} items that *don't* match search/tag filters"
|
|
216
|
-
cmd.switch [:not], default_value: false, negatable: false
|
|
217
|
-
|
|
218
|
-
cmd.desc 'Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans'
|
|
219
|
-
cmd.arg_name 'BOOLEAN'
|
|
220
|
-
cmd.flag [:bool], must_match: REGEX_BOOL,
|
|
221
|
-
default_value: :pattern,
|
|
222
|
-
type: BooleanSymbol
|
|
223
|
-
when :date_filter
|
|
224
|
-
if action =~ /Archive/
|
|
225
|
-
cmd.desc 'Archive entries older than date (natural language).'
|
|
226
|
-
else
|
|
227
|
-
cmd.desc "#{action} entries older than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all
|
|
228
|
-
dates will be included, but entries will be filtered by time of day"
|
|
229
|
-
end
|
|
230
|
-
cmd.arg_name 'DATE_STRING'
|
|
231
|
-
cmd.flag [:before], type: DateBeginString
|
|
232
|
-
|
|
233
|
-
if action =~ /Archive/
|
|
234
|
-
cmd.desc 'Archive entries newer than date (natural language).'
|
|
235
|
-
else
|
|
236
|
-
cmd.desc "#{action} entries newer than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all
|
|
237
|
-
dates will be included, but entries will be filtered by time of day"
|
|
238
|
-
end
|
|
239
|
-
cmd.arg_name 'DATE_STRING'
|
|
240
|
-
cmd.flag [:after], type: DateEndString
|
|
241
|
-
|
|
242
|
-
if action =~ /Archive/
|
|
243
|
-
cmd.desc %(
|
|
244
|
-
Date range (natural language) to archive: `doing archive --from "1/1/21 to 12/31/21"`.
|
|
245
|
-
)
|
|
246
|
-
else
|
|
247
|
-
cmd.desc %(
|
|
248
|
-
Date range (natural language) to #{action.downcase}, or a single day to filter on.
|
|
249
|
-
To specify a range, use "to": `doing #{cmd_name} --from "monday 8am to friday 5pm"`.
|
|
250
|
-
|
|
251
|
-
If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
|
|
252
|
-
by time of day.
|
|
253
|
-
)
|
|
254
|
-
end
|
|
255
|
-
cmd.arg_name 'DATE_OR_RANGE'
|
|
256
|
-
cmd.flag [:from], type: DateRangeString
|
|
257
|
-
end
|
|
258
|
-
end
|
|
259
|
-
|
|
260
146
|
program_desc 'A CLI for a What Was I Doing system'
|
|
261
147
|
program_long_desc %(Doing uses a TaskPaper-like formatting to keep a plain text
|
|
262
148
|
record of what you've been doing, complete with tag-based time tracking. The
|
|
@@ -275,7 +161,7 @@ desc 'Send results report to STDOUT instead of STDERR'
|
|
|
275
161
|
switch [:stdout], default_value: false, negatable: false
|
|
276
162
|
|
|
277
163
|
desc 'Use a pager when output is longer than screen'
|
|
278
|
-
switch %i[p pager], default_value:
|
|
164
|
+
switch %i[p pager], default_value: Doing.setting('paginate')
|
|
279
165
|
|
|
280
166
|
desc 'Answer yes/no menus with default option'
|
|
281
167
|
switch [:default], default_value: false, negatable: false
|
|
@@ -299,14 +185,14 @@ desc 'Verbose output'
|
|
|
299
185
|
switch %i[debug], default_value: false, negatable: false
|
|
300
186
|
|
|
301
187
|
desc 'Use a specific configuration file. Deprecated, set $DOING_CONFIG instead'
|
|
302
|
-
flag [:config_file], default_value:
|
|
188
|
+
flag [:config_file], default_value: Doing.config.config_file
|
|
303
189
|
|
|
304
190
|
desc 'Specify a different doing_file'
|
|
305
191
|
flag %i[f doing_file]
|
|
306
192
|
|
|
307
193
|
def add_commands(commands)
|
|
308
194
|
commands = [commands] unless commands.is_a?(Array)
|
|
309
|
-
hidden =
|
|
195
|
+
hidden = Doing.setting('disabled_commands')
|
|
310
196
|
hidden = hidden.set_type('array') if hidden.good? && !hidden.is_a?(Array)
|
|
311
197
|
commands.delete_if { |c| hidden.include?(c) }
|
|
312
198
|
commands.each { |cmd| require_relative "commands/#{cmd}" }
|
|
@@ -325,10 +211,10 @@ add_commands(%w[undo redo])
|
|
|
325
211
|
## Hidden commands
|
|
326
212
|
add_commands(%w[commands_accepting install_fzf])
|
|
327
213
|
## Optional commands
|
|
328
|
-
add_commands(%w[again cancel flag meanwhile reset tags today yesterday since
|
|
214
|
+
add_commands(%w[again cancel flag meanwhile reset tags today yesterday since tag_dir colors completion plugins sections template views changes])
|
|
329
215
|
|
|
330
216
|
pre do |global, _command, _options, _args|
|
|
331
|
-
# global[:pager] ||=
|
|
217
|
+
# global[:pager] ||= Doing.setting('paginate')
|
|
332
218
|
Doing::Pager.paginate = global[:pager]
|
|
333
219
|
|
|
334
220
|
$stdout.puts "doing v#{Doing::VERSION}" if global[:version]
|
|
@@ -346,8 +232,8 @@ pre do |global, _command, _options, _args|
|
|
|
346
232
|
end
|
|
347
233
|
|
|
348
234
|
on_error do |exception|
|
|
349
|
-
if exception.kind_of?(GLI::UnknownCommand)
|
|
350
|
-
exit run(['now'].concat(ARGV))
|
|
235
|
+
if exception.kind_of?(GLI::UnknownCommand) && ARGV.count > 1
|
|
236
|
+
exit run(['now'].concat(ARGV.unshift(@command)))
|
|
351
237
|
elsif exception.kind_of?(SystemExit)
|
|
352
238
|
false
|
|
353
239
|
else
|
|
@@ -366,8 +252,8 @@ post do |global, _command, _options, _args|
|
|
|
366
252
|
end
|
|
367
253
|
|
|
368
254
|
around do |global, command, options, arguments, code|
|
|
369
|
-
Doing.logger.benchmark("command_#{command.name
|
|
370
|
-
# Doing.logger.debug('Pager:', "Global: #{global[:pager]}, Config: #{
|
|
255
|
+
Doing.logger.benchmark("command_#{command.name}".to_sym, :start)
|
|
256
|
+
# Doing.logger.debug('Pager:', "Global: #{global[:pager]}, Config: #{Doing.setting('paginate')}, Pager: #{Doing::Pager.paginate}")
|
|
371
257
|
if env_log_level.nil?
|
|
372
258
|
Doing.logger.adjust_verbosity(global)
|
|
373
259
|
end
|
|
@@ -392,15 +278,15 @@ around do |global, command, options, arguments, code|
|
|
|
392
278
|
Doing.config.force_answer = global[:default] ? true : false
|
|
393
279
|
end
|
|
394
280
|
|
|
395
|
-
if global[:config_file] && global[:config_file] !=
|
|
281
|
+
if global[:config_file] && global[:config_file] != Doing.config.config_file
|
|
396
282
|
Doing.logger.warn(format('%sWARNING:%s %sThe use of --config_file is deprecated, please set the environment variable DOING_CONFIG instead.', @colors.flamingo, @colors.default, @colors.boldred))
|
|
397
283
|
Doing.logger.warn(format('%sTo set it just for the current command, use: %sDOING_CONFIG=/path/to/doingrc doing [command]%s', @colors.red, @colors.boldwhite, @colors.default))
|
|
398
284
|
|
|
399
285
|
cf = File.expand_path(global[:config_file])
|
|
400
286
|
raise MissingConfigFile, "Config file not found (#{global[:config_file]})" unless File.exist?(cf)
|
|
401
287
|
|
|
402
|
-
|
|
403
|
-
|
|
288
|
+
Doing.config.config_file = cf
|
|
289
|
+
Doing.config_with(cf, { ignore_local: true })
|
|
404
290
|
end
|
|
405
291
|
Doing.logger.benchmark(:init, :start)
|
|
406
292
|
if global[:doing_file]
|
|
@@ -409,9 +295,9 @@ around do |global, command, options, arguments, code|
|
|
|
409
295
|
@wwid.init_doing_file
|
|
410
296
|
end
|
|
411
297
|
Doing.logger.benchmark(:init, :finish)
|
|
412
|
-
|
|
298
|
+
Doing.auto_tag = !global[:noauto]
|
|
413
299
|
|
|
414
|
-
|
|
300
|
+
Doing.set('include_notes', false) unless global[:notes]
|
|
415
301
|
|
|
416
302
|
global[:wwid] = @wwid
|
|
417
303
|
|
|
@@ -420,4 +306,8 @@ around do |global, command, options, arguments, code|
|
|
|
420
306
|
Doing.logger.benchmark("command_#{command.name.to_s}".to_sym, :finish)
|
|
421
307
|
end
|
|
422
308
|
|
|
309
|
+
commands_from File.expand_path(Doing.setting('plugins.command_path')) if Doing.setting('plugins.command_path')
|
|
310
|
+
|
|
311
|
+
@command = ARGV[0]
|
|
312
|
+
|
|
423
313
|
exit run(ARGV)
|
data/docs/doc/Array.html
CHANGED
|
@@ -195,7 +195,7 @@ has content</p>
|
|
|
195
195
|
</div>
|
|
196
196
|
|
|
197
197
|
<div id="footer">
|
|
198
|
-
Generated on
|
|
198
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
199
199
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
200
200
|
0.9.27 (ruby-3.0.1).
|
|
201
201
|
</div>
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
</div>
|
|
284
284
|
|
|
285
285
|
<div id="footer">
|
|
286
|
-
Generated on
|
|
286
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
287
287
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
288
288
|
0.9.27 (ruby-3.0.1).
|
|
289
289
|
</div>
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
</div>
|
|
163
163
|
|
|
164
164
|
<div id="footer">
|
|
165
|
-
Generated on
|
|
165
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
166
166
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
167
167
|
0.9.27 (ruby-3.0.1).
|
|
168
168
|
</div>
|
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
</div>
|
|
408
408
|
|
|
409
409
|
<div id="footer">
|
|
410
|
-
Generated on
|
|
410
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
411
411
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
412
412
|
0.9.27 (ruby-3.0.1).
|
|
413
413
|
</div>
|
|
@@ -125,7 +125,7 @@ parser. In order to do that, a new "clause" node is added to the parse
|
|
|
125
125
|
</div>
|
|
126
126
|
|
|
127
127
|
<div id="footer">
|
|
128
|
-
Generated on
|
|
128
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
129
129
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
130
130
|
0.9.27 (ruby-3.0.1).
|
|
131
131
|
</div>
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
</div>
|
|
115
115
|
|
|
116
116
|
<div id="footer">
|
|
117
|
-
Generated on
|
|
117
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
118
118
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
119
119
|
0.9.27 (ruby-3.0.1).
|
|
120
120
|
</div>
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
</div>
|
|
106
106
|
|
|
107
107
|
<div id="footer">
|
|
108
|
-
Generated on
|
|
108
|
+
Generated on Sun Feb 20 09:36:52 2022 by
|
|
109
109
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
110
110
|
0.9.27 (ruby-3.0.1).
|
|
111
111
|
</div>
|
data/docs/doc/Doing/Color.html
CHANGED
|
@@ -518,7 +518,7 @@ ANSI-sequences are stripped from the string.</p>
|
|
|
518
518
|
</div>
|
|
519
519
|
|
|
520
520
|
<div id="footer">
|
|
521
|
-
Generated on
|
|
521
|
+
Generated on Sun Feb 20 09:36:51 2022 by
|
|
522
522
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
523
523
|
0.9.27 (ruby-3.0.1).
|
|
524
524
|
</div>
|