sorbet-result 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.standard.yml +6 -0
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +21 -0
  6. data/Gemfile +3 -5
  7. data/Gemfile.lock +79 -64
  8. data/README.md +25 -2
  9. data/Rakefile +3 -5
  10. data/lib/minitest/result_assertions.rb +48 -0
  11. data/lib/sorbet-result.rb +1 -5
  12. data/lib/typed/result.rb +199 -7
  13. data/sorbet/rbi/gems/.gitattributes +1 -0
  14. data/sorbet/rbi/gems/ast@2.4.2.rbi +1 -0
  15. data/sorbet/rbi/gems/erubi@1.13.0.rbi +150 -0
  16. data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +1 -0
  17. data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.5.rbi} +168 -72
  18. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
  19. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  20. data/sorbet/rbi/gems/{minitest@5.18.1.rbi → minitest@5.25.1.rbi} +337 -282
  21. data/sorbet/rbi/gems/netrc@0.11.0.rbi +1 -0
  22. data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.26.3.rbi} +38 -20
  23. data/sorbet/rbi/gems/{parser@3.2.2.3.rbi → parser@3.3.5.1.rbi} +663 -2397
  24. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  25. data/sorbet/rbi/gems/psych@5.1.2.rbi +1732 -0
  26. data/sorbet/rbi/gems/{racc@1.7.1.rbi → racc@1.8.1.rbi} +37 -36
  27. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +1 -0
  28. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.2.1.rbi} +79 -75
  29. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  30. data/sorbet/rbi/gems/{regexp_parser@2.8.1.rbi → regexp_parser@2.9.2.rbi} +190 -167
  31. data/sorbet/rbi/gems/{reline@0.3.5.rbi → reline@0.5.10.rbi} +1 -0
  32. data/sorbet/rbi/gems/{rubocop-ast@1.29.0.rbi → rubocop-ast@1.33.1.rbi} +1220 -748
  33. data/sorbet/rbi/gems/rubocop-performance@1.22.1.rbi +9 -0
  34. data/sorbet/rbi/gems/rubocop-sorbet@0.7.8.rbi +9 -0
  35. data/sorbet/rbi/gems/{rubocop@1.52.1.rbi → rubocop@1.66.1.rbi} +6236 -3446
  36. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1 -0
  37. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  38. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +9 -0
  39. data/sorbet/rbi/gems/standard-performance@1.5.0.rbi +9 -0
  40. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +53 -0
  41. data/sorbet/rbi/gems/standard@1.41.1.rbi +926 -0
  42. data/sorbet/rbi/gems/stringio@3.1.1.rbi +9 -0
  43. data/sorbet/rbi/gems/{tapioca@0.11.6.rbi → tapioca@0.16.3.rbi} +937 -635
  44. data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.2.rbi} +832 -419
  45. data/sorbet/rbi/gems/{unicode-display_width@2.4.2.rbi → unicode-display_width@2.6.0.rbi} +1 -0
  46. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  47. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.37.rbi} +431 -271
  48. data/sorbet/tapioca/config.yml +3 -12
  49. data/sorbet/tapioca/require.rb +0 -1
  50. metadata +37 -47
  51. data/.rubocop.yml +0 -33
  52. data/lib/typed/failure.rb +0 -81
  53. data/lib/typed/success.rb +0 -80
  54. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
  55. data/sorbet/rbi/gems/irb@1.7.0.rbi +0 -342
  56. data/sorbet/rbi/gems/rbi@0.0.16.rbi +0 -3008
  57. data/sorbet/rbi/gems/rexml@3.2.5.rbi +0 -4717
  58. data/sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi +0 -2528
  59. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -328
  60. data/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi +0 -1043
  61. data/sorbet/rbi/gems/spoom@1.2.1.rbi +0 -2503
  62. data/sorbet/rbi/gems/unparser@0.6.8.rbi +0 -4525
  63. data/sorbet/rbi/gems/zeitwerk@2.6.8.rbi +0 -986
@@ -4,6 +4,31 @@
4
4
  # This is an autogenerated file for types exported from the `thor` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem thor`.
6
6
 
7
+
8
+ # source://thor//lib/thor/shell/lcs_diff.rb#1
9
+ module LCSDiff
10
+ protected
11
+
12
+ # Overwrite show_diff to show diff with colors if Diff::LCS is
13
+ # available.
14
+ #
15
+ # source://thor//lib/thor/shell/lcs_diff.rb#6
16
+ def show_diff(destination, content); end
17
+
18
+ private
19
+
20
+ # Check if Diff::LCS is loaded. If it is, use it to create pretty output
21
+ # for diff.
22
+ #
23
+ # @return [Boolean]
24
+ #
25
+ # source://thor//lib/thor/shell/lcs_diff.rb#37
26
+ def diff_lcs_loaded?; end
27
+
28
+ # source://thor//lib/thor/shell/lcs_diff.rb#21
29
+ def output_diff_line(diff); end
30
+ end
31
+
7
32
  # source://thor//lib/thor/command.rb#1
8
33
  class Thor
9
34
  include ::Thor::Base
@@ -12,32 +37,85 @@ class Thor
12
37
  extend ::Thor::Base::ClassMethods
13
38
  extend ::Thor::Invocation::ClassMethods
14
39
 
15
- # source://thor//lib/thor.rb#505
40
+ # source://thor//lib/thor.rb#663
16
41
  def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
17
42
 
18
43
  class << self
44
+ # Adds and declares option group for required at least one of options in the
45
+ # block of arguments. You can declare options as the outside of the block.
46
+ #
47
+ # If :for is given as option, it allows you to change the options from
48
+ # a previous defined command.
49
+ #
50
+ # ==== Parameters
51
+ # Array[Thor::Option.name]
52
+ # options<Hash>:: :for is applied for previous defined command.
53
+ #
54
+ # ==== Examples
55
+ #
56
+ # at_least_one do
57
+ # option :one
58
+ # option :two
59
+ # end
60
+ #
61
+ # Or
62
+ #
63
+ # option :one
64
+ # option :two
65
+ # at_least_one :one, :two
66
+ #
67
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
68
+ # will be raised.
69
+ #
70
+ # You can use at_least_one and exclusive at the same time.
71
+ #
72
+ # exclusive do
73
+ # at_least_one do
74
+ # option :one
75
+ # option :two
76
+ # end
77
+ # end
78
+ #
79
+ # Then it is required either only one of "--one" or "--two".
80
+ #
81
+ # source://thor//lib/thor.rb#246
82
+ def at_least_one(*args, &block); end
83
+
19
84
  # Extend check unknown options to accept a hash of conditions.
20
85
  #
21
86
  # === Parameters
22
87
  # options<Hash>: A hash containing :only and/or :except keys
23
88
  #
24
- # source://thor//lib/thor.rb#255
89
+ # source://thor//lib/thor.rb#350
25
90
  def check_unknown_options!(options = T.unsafe(nil)); end
26
91
 
27
92
  # Overwrite check_unknown_options? to take subcommands and options into account.
28
93
  #
29
94
  # @return [Boolean]
30
95
  #
31
- # source://thor//lib/thor.rb#268
96
+ # source://thor//lib/thor.rb#363
32
97
  def check_unknown_options?(config); end
33
98
 
99
+ # Checks if a specified command exists.
100
+ #
101
+ # ==== Parameters
102
+ # command_name<String>:: The name of the command to check for existence.
103
+ #
104
+ # ==== Returns
105
+ # Boolean:: +true+ if the command exists, +false+ otherwise.
106
+ #
107
+ # @return [Boolean]
108
+ #
109
+ # source://thor//lib/thor.rb#449
110
+ def command_exists?(command_name); end
111
+
34
112
  # Prints help information for the given command.
35
113
  #
36
114
  # ==== Parameters
37
115
  # shell<Thor::Shell>
38
116
  # command_name<String>
39
117
  #
40
- # source://thor//lib/thor.rb#172
118
+ # source://thor//lib/thor.rb#258
41
119
  def command_help(shell, command_name); end
42
120
 
43
121
  # Sets the default command when thor is executed without an explicit command to be called.
@@ -76,28 +154,64 @@ class Thor
76
154
  # ==== Parameters
77
155
  # Symbol ...:: A list of commands that should be affected.
78
156
  #
79
- # source://thor//lib/thor.rb#339
157
+ # source://thor//lib/thor.rb#434
80
158
  def disable_required_check!(*command_names); end
81
159
 
82
160
  # @return [Boolean]
83
161
  #
84
- # source://thor//lib/thor.rb#343
162
+ # source://thor//lib/thor.rb#438
85
163
  def disable_required_check?(command); end
86
164
 
165
+ # Adds and declares option group for exclusive options in the
166
+ # block and arguments. You can declare options as the outside of the block.
167
+ #
168
+ # If :for is given as option, it allows you to change the options from
169
+ # a previous defined command.
170
+ #
171
+ # ==== Parameters
172
+ # Array[Thor::Option.name]
173
+ # options<Hash>:: :for is applied for previous defined command.
174
+ #
175
+ # ==== Examples
176
+ #
177
+ # exclusive do
178
+ # option :one
179
+ # option :two
180
+ # end
181
+ #
182
+ # Or
183
+ #
184
+ # option :one
185
+ # option :two
186
+ # exclusive :one, :two
187
+ #
188
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
189
+ # will be raised.
190
+ #
191
+ # source://thor//lib/thor.rb#203
192
+ def exclusive(*args, &block); end
193
+
87
194
  # Prints help information for this class.
88
195
  #
89
196
  # ==== Parameters
90
197
  # shell<Thor::Shell>
91
198
  #
92
- # source://thor//lib/thor.rb#195
199
+ # source://thor//lib/thor.rb#288
93
200
  def help(shell, subcommand = T.unsafe(nil)); end
94
201
 
95
202
  # Defines the long description of the next command.
96
203
  #
204
+ # Long description is by default indented, line-wrapped and repeated whitespace merged.
205
+ # In order to print long description verbatim, with indentation and spacing exactly
206
+ # as found in the code, use the +wrap+ option
207
+ #
208
+ # long_desc 'your very long description', wrap: false
209
+ #
97
210
  # ==== Parameters
98
211
  # long description<String>
212
+ # options<Hash>
99
213
  #
100
- # source://thor//lib/thor.rb#71
214
+ # source://thor//lib/thor.rb#78
101
215
  def long_desc(long_description, options = T.unsafe(nil)); end
102
216
 
103
217
  # Maps an input to a command. If you define:
@@ -113,9 +227,78 @@ class Thor
113
227
  # ==== Parameters
114
228
  # Hash[String|Array => Symbol]:: Maps the string or the strings in the array to the given command.
115
229
  #
116
- # source://thor//lib/thor.rb#93
230
+ # source://thor//lib/thor.rb#101
117
231
  def map(mappings = T.unsafe(nil), **kw); end
118
232
 
233
+ # Adds and declares option group for required at least one of options in the
234
+ # block of arguments. You can declare options as the outside of the block.
235
+ #
236
+ # If :for is given as option, it allows you to change the options from
237
+ # a previous defined command.
238
+ #
239
+ # ==== Parameters
240
+ # Array[Thor::Option.name]
241
+ # options<Hash>:: :for is applied for previous defined command.
242
+ #
243
+ # ==== Examples
244
+ #
245
+ # at_least_one do
246
+ # option :one
247
+ # option :two
248
+ # end
249
+ #
250
+ # Or
251
+ #
252
+ # option :one
253
+ # option :two
254
+ # at_least_one :one, :two
255
+ #
256
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
257
+ # will be raised.
258
+ #
259
+ # You can use at_least_one and exclusive at the same time.
260
+ #
261
+ # exclusive do
262
+ # at_least_one do
263
+ # option :one
264
+ # option :two
265
+ # end
266
+ # end
267
+ #
268
+ # Then it is required either only one of "--one" or "--two".
269
+ #
270
+ # source://thor//lib/thor.rb#246
271
+ def method_at_least_one(*args, &block); end
272
+
273
+ # Adds and declares option group for exclusive options in the
274
+ # block and arguments. You can declare options as the outside of the block.
275
+ #
276
+ # If :for is given as option, it allows you to change the options from
277
+ # a previous defined command.
278
+ #
279
+ # ==== Parameters
280
+ # Array[Thor::Option.name]
281
+ # options<Hash>:: :for is applied for previous defined command.
282
+ #
283
+ # ==== Examples
284
+ #
285
+ # exclusive do
286
+ # option :one
287
+ # option :two
288
+ # end
289
+ #
290
+ # Or
291
+ #
292
+ # option :one
293
+ # option :two
294
+ # exclusive :one, :two
295
+ #
296
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
297
+ # will be raised.
298
+ #
299
+ # source://thor//lib/thor.rb#203
300
+ def method_exclusive(*args, &block); end
301
+
119
302
  # Adds an option to the set of method options. If :for is given as option,
120
303
  # it allows you to change the options from a previous defined command.
121
304
  #
@@ -123,7 +306,7 @@ class Thor
123
306
  # # magic
124
307
  # end
125
308
  #
126
- # method_option :foo => :bar, :for => :previous_command
309
+ # method_option :foo, :for => :previous_command
127
310
  #
128
311
  # def next_command
129
312
  # # magic
@@ -142,7 +325,7 @@ class Thor
142
325
  # :banner - String to show on usage notes.
143
326
  # :hide - If you want to hide this option from the help.
144
327
  #
145
- # source://thor//lib/thor.rb#155
328
+ # source://thor//lib/thor.rb#163
146
329
  def method_option(name, options = T.unsafe(nil)); end
147
330
 
148
331
  # Declares the options for the next command to be declared.
@@ -152,7 +335,7 @@ class Thor
152
335
  # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
153
336
  # or :required (string). If you give a value, the type of the value is used.
154
337
  #
155
- # source://thor//lib/thor.rb#121
338
+ # source://thor//lib/thor.rb#129
156
339
  def method_options(options = T.unsafe(nil)); end
157
340
 
158
341
  # Adds an option to the set of method options. If :for is given as option,
@@ -162,7 +345,7 @@ class Thor
162
345
  # # magic
163
346
  # end
164
347
  #
165
- # method_option :foo => :bar, :for => :previous_command
348
+ # method_option :foo, :for => :previous_command
166
349
  #
167
350
  # def next_command
168
351
  # # magic
@@ -181,7 +364,7 @@ class Thor
181
364
  # :banner - String to show on usage notes.
182
365
  # :hide - If you want to hide this option from the help.
183
366
  #
184
- # source://thor//lib/thor.rb#155
367
+ # source://thor//lib/thor.rb#163
185
368
  def option(name, options = T.unsafe(nil)); end
186
369
 
187
370
  # Declares the options for the next command to be declared.
@@ -191,7 +374,7 @@ class Thor
191
374
  # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
192
375
  # or :required (string). If you give a value, the type of the value is used.
193
376
  #
194
- # source://thor//lib/thor.rb#121
377
+ # source://thor//lib/thor.rb#129
195
378
  def options(options = T.unsafe(nil)); end
196
379
 
197
380
  # Allows for custom "Command" package naming.
@@ -205,12 +388,12 @@ class Thor
205
388
 
206
389
  # Returns commands ready to be printed.
207
390
  #
208
- # source://thor//lib/thor.rb#214
391
+ # source://thor//lib/thor.rb#309
209
392
  def printable_commands(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
210
393
 
211
394
  # Returns commands ready to be printed.
212
395
  #
213
- # source://thor//lib/thor.rb#214
396
+ # source://thor//lib/thor.rb#309
214
397
  def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
215
398
 
216
399
  # Registers another Thor subclass as a command.
@@ -262,27 +445,27 @@ class Thor
262
445
  # ==== Parameters
263
446
  # Symbol ...:: A list of commands that should be affected.
264
447
  #
265
- # source://thor//lib/thor.rb#325
448
+ # source://thor//lib/thor.rb#420
266
449
  def stop_on_unknown_option!(*command_names); end
267
450
 
268
451
  # @return [Boolean]
269
452
  #
270
- # source://thor//lib/thor.rb#329
453
+ # source://thor//lib/thor.rb#424
271
454
  def stop_on_unknown_option?(command); end
272
455
 
273
- # source://thor//lib/thor.rb#234
456
+ # source://thor//lib/thor.rb#329
274
457
  def subcommand(subcommand, subcommand_class); end
275
458
 
276
- # source://thor//lib/thor.rb#230
459
+ # source://thor//lib/thor.rb#325
277
460
  def subcommand_classes; end
278
461
 
279
- # source://thor//lib/thor.rb#225
462
+ # source://thor//lib/thor.rb#320
280
463
  def subcommands; end
281
464
 
282
- # source://thor//lib/thor.rb#234
465
+ # source://thor//lib/thor.rb#329
283
466
  def subtask(subcommand, subcommand_class); end
284
467
 
285
- # source://thor//lib/thor.rb#225
468
+ # source://thor//lib/thor.rb#320
286
469
  def subtasks; end
287
470
 
288
471
  # Prints help information for the given command.
@@ -291,7 +474,7 @@ class Thor
291
474
  # shell<Thor::Shell>
292
475
  # command_name<String>
293
476
  #
294
- # source://thor//lib/thor.rb#172
477
+ # source://thor//lib/thor.rb#258
295
478
  def task_help(shell, command_name); end
296
479
 
297
480
  protected
@@ -301,50 +484,66 @@ class Thor
301
484
  # the command that is going to be invoked and a boolean which indicates if
302
485
  # the namespace should be displayed as arguments.
303
486
  #
304
- # source://thor//lib/thor.rb#400
487
+ # source://thor//lib/thor.rb#546
305
488
  def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
306
489
 
307
- # source://thor//lib/thor.rb#406
490
+ # source://thor//lib/thor.rb#552
308
491
  def baseclass; end
309
492
 
310
- # source://thor//lib/thor.rb#414
493
+ # source://thor//lib/thor.rb#560
311
494
  def create_command(meth); end
312
495
 
313
- # source://thor//lib/thor.rb#414
496
+ # source://thor//lib/thor.rb#560
314
497
  def create_task(meth); end
315
498
 
316
499
  # help command has the required check disabled by default.
317
500
  #
318
- # source://thor//lib/thor.rb#354
501
+ # source://thor//lib/thor.rb#478
319
502
  def disable_required_check; end
320
503
 
321
504
  # The method responsible for dispatching given the args.
322
505
  #
323
506
  # @yield [instance]
324
507
  #
325
- # source://thor//lib/thor.rb#359
508
+ # source://thor//lib/thor.rb#505
326
509
  def dispatch(meth, given_args, given_opts, config); end
327
510
 
328
- # source://thor//lib/thor.rb#410
511
+ # source://thor//lib/thor.rb#556
329
512
  def dynamic_command_class; end
330
513
 
331
514
  # this is the logic that takes the command name passed in by the user
332
515
  # and determines whether it is an unambiguous substrings of a command or
333
516
  # alias name.
334
517
  #
335
- # source://thor//lib/thor.rb#476
518
+ # source://thor//lib/thor.rb#626
336
519
  def find_command_possibilities(meth); end
337
520
 
338
521
  # this is the logic that takes the command name passed in by the user
339
522
  # and determines whether it is an unambiguous substrings of a command or
340
523
  # alias name.
341
524
  #
342
- # source://thor//lib/thor.rb#476
525
+ # source://thor//lib/thor.rb#626
343
526
  def find_task_possibilities(meth); end
344
527
 
345
- # source://thor//lib/thor.rb#436
528
+ # source://thor//lib/thor.rb#586
346
529
  def initialize_added; end
347
530
 
531
+ # Returns this class at least one of required options array set.
532
+ #
533
+ # ==== Returns
534
+ # Array[Array[Thor::Option.name]]
535
+ #
536
+ # source://thor//lib/thor.rb#469
537
+ def method_at_least_one_option_names; end
538
+
539
+ # Returns this class exclusive options array set.
540
+ #
541
+ # ==== Returns
542
+ # Array[Array[Thor::Option.name]]
543
+ #
544
+ # source://thor//lib/thor.rb#460
545
+ def method_exclusive_option_names; end
546
+
348
547
  # receives a (possibly nil) command name and returns a name that is in
349
548
  # the commands hash. In addition to normalizing aliases, this logic
350
549
  # will determine if a shortened command is an unambiguous substring of
@@ -355,7 +554,7 @@ class Thor
355
554
  #
356
555
  # @raise [AmbiguousTaskError]
357
556
  #
358
- # source://thor//lib/thor.rb#455
557
+ # source://thor//lib/thor.rb#605
359
558
  def normalize_command_name(meth); end
360
559
 
361
560
  # receives a (possibly nil) command name and returns a name that is in
@@ -368,26 +567,40 @@ class Thor
368
567
  #
369
568
  # @raise [AmbiguousTaskError]
370
569
  #
371
- # source://thor//lib/thor.rb#455
570
+ # source://thor//lib/thor.rb#605
372
571
  def normalize_task_name(meth); end
373
572
 
573
+ # source://thor//lib/thor.rb#493
574
+ def print_at_least_one_required_options(shell, command = T.unsafe(nil)); end
575
+
576
+ # source://thor//lib/thor.rb#482
577
+ def print_exclusive_options(shell, command = T.unsafe(nil)); end
578
+
374
579
  # Retrieve the command name from given args.
375
580
  #
376
- # source://thor//lib/thor.rb#442
581
+ # source://thor//lib/thor.rb#592
377
582
  def retrieve_command_name(args); end
378
583
 
379
584
  # Retrieve the command name from given args.
380
585
  #
381
- # source://thor//lib/thor.rb#442
586
+ # source://thor//lib/thor.rb#592
382
587
  def retrieve_task_name(args); end
383
588
 
384
- # source://thor//lib/thor.rb#349
589
+ # Sort the commands, lexicographically by default.
590
+ #
591
+ # Can be overridden in the subclass to change the display order of the
592
+ # commands.
593
+ #
594
+ # source://thor//lib/thor.rb#653
595
+ def sort_commands!(list); end
596
+
597
+ # source://thor//lib/thor.rb#473
385
598
  def stop_on_unknown_option; end
386
599
 
387
- # source://thor//lib/thor.rb#491
600
+ # source://thor//lib/thor.rb#641
388
601
  def subcommand_help(cmd); end
389
602
 
390
- # source://thor//lib/thor.rb#491
603
+ # source://thor//lib/thor.rb#641
391
604
  def subtask_help(cmd); end
392
605
  end
393
606
  end
@@ -463,7 +676,7 @@ module Thor::Actions
463
676
  # 'config.gem "rspec"'
464
677
  # end
465
678
  #
466
- # source://thor//lib/thor/actions/file_manipulation.rb#195
679
+ # source://thor//lib/thor/actions/file_manipulation.rb#192
467
680
  def append_file(path, *args, &block); end
468
681
 
469
682
  # Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -481,7 +694,7 @@ module Thor::Actions
481
694
  # 'config.gem "rspec"'
482
695
  # end
483
696
  #
484
- # source://thor//lib/thor/actions/file_manipulation.rb#195
697
+ # source://thor//lib/thor/actions/file_manipulation.rb#192
485
698
  def append_to_file(path, *args, &block); end
486
699
 
487
700
  # Loads an external file and execute it in the instance binding.
@@ -522,7 +735,7 @@ module Thor::Actions
522
735
  #
523
736
  # chmod "script/server", 0755
524
737
  #
525
- # source://thor//lib/thor/actions/file_manipulation.rb#148
738
+ # source://thor//lib/thor/actions/file_manipulation.rb#145
526
739
  def chmod(path, mode, config = T.unsafe(nil)); end
527
740
 
528
741
  # Comment all lines matching a given regex. It will leave the space
@@ -538,16 +751,25 @@ module Thor::Actions
538
751
  #
539
752
  # comment_lines 'config/initializers/session_store.rb', /cookie_store/
540
753
  #
541
- # source://thor//lib/thor/actions/file_manipulation.rb#312
754
+ # source://thor//lib/thor/actions/file_manipulation.rb#308
542
755
  def comment_lines(path, flag, *args); end
543
756
 
757
+ # Copies the file from the relative source to the relative destination. If
758
+ # the destination is not given it's assumed to be equal to the source.
759
+ #
760
+ # ==== Parameters
761
+ # source<String>:: the relative path to the source root.
762
+ # destination<String>:: the relative path to the destination root.
763
+ # config<Hash>:: give :verbose => false to not log the status, and
764
+ # :mode => :preserve, to preserve the file mode from the source.
765
+ #
544
766
  # ==== Examples
545
767
  #
546
768
  # copy_file "README", "doc/README"
547
769
  #
548
770
  # copy_file "doc/README"
549
771
  #
550
- # source://thor//lib/thor/actions/file_manipulation.rb#21
772
+ # source://thor//lib/thor/actions/file_manipulation.rb#20
551
773
  def copy_file(source, *args, &block); end
552
774
 
553
775
  # Create a new file relative to the destination root with the given data,
@@ -673,17 +895,20 @@ module Thor::Actions
673
895
  # ==== Parameters
674
896
  # source<String>:: the address of the given content.
675
897
  # destination<String>:: the relative path to the destination root.
676
- # config<Hash>:: give :verbose => false to not log the status.
898
+ # config<Hash>:: give :verbose => false to not log the status, and
899
+ # :http_headers => <Hash> to add headers to an http request.
677
900
  #
678
901
  # ==== Examples
679
902
  #
680
903
  # get "http://gist.github.com/103208", "doc/README"
681
904
  #
905
+ # get "http://gist.github.com/103208", "doc/README", :http_headers => {"Content-Type" => "application/json"}
906
+ #
682
907
  # get "http://gist.github.com/103208" do |content|
683
908
  # content.split("\n").first
684
909
  # end
685
910
  #
686
- # source://thor//lib/thor/actions/file_manipulation.rb#79
911
+ # source://thor//lib/thor/actions/file_manipulation.rb#81
687
912
  def get(source, *args, &block); end
688
913
 
689
914
  # Run a regular expression replacement on a file.
@@ -703,7 +928,7 @@ module Thor::Actions
703
928
  # match << " no more. Use thor!"
704
929
  # end
705
930
  #
706
- # source://thor//lib/thor/actions/file_manipulation.rb#265
931
+ # source://thor//lib/thor/actions/file_manipulation.rb#262
707
932
  def gsub_file(path, flag, *args, &block); end
708
933
 
709
934
  # Goes to the root and execute the given block.
@@ -728,7 +953,7 @@ module Thor::Actions
728
953
  # " filter_parameter :password\n"
729
954
  # end
730
955
  #
731
- # source://thor//lib/thor/actions/file_manipulation.rb#219
956
+ # source://thor//lib/thor/actions/file_manipulation.rb#216
732
957
  def inject_into_class(path, klass, *args, &block); end
733
958
 
734
959
  # source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -751,7 +976,7 @@ module Thor::Actions
751
976
  # " def help; 'help'; end\n"
752
977
  # end
753
978
  #
754
- # source://thor//lib/thor/actions/file_manipulation.rb#242
979
+ # source://thor//lib/thor/actions/file_manipulation.rb#239
755
980
  def inject_into_module(path, module_name, *args, &block); end
756
981
 
757
982
  # source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -785,7 +1010,7 @@ module Thor::Actions
785
1010
  #
786
1011
  # link_file "doc/README"
787
1012
  #
788
- # source://thor//lib/thor/actions/file_manipulation.rb#51
1013
+ # source://thor//lib/thor/actions/file_manipulation.rb#50
789
1014
  def link_file(source, *args); end
790
1015
 
791
1016
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -803,7 +1028,7 @@ module Thor::Actions
803
1028
  # 'config.gem "rspec"'
804
1029
  # end
805
1030
  #
806
- # source://thor//lib/thor/actions/file_manipulation.rb#173
1031
+ # source://thor//lib/thor/actions/file_manipulation.rb#170
807
1032
  def prepend_file(path, *args, &block); end
808
1033
 
809
1034
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -821,7 +1046,7 @@ module Thor::Actions
821
1046
  # 'config.gem "rspec"'
822
1047
  # end
823
1048
  #
824
- # source://thor//lib/thor/actions/file_manipulation.rb#173
1049
+ # source://thor//lib/thor/actions/file_manipulation.rb#170
825
1050
  def prepend_to_file(path, *args, &block); end
826
1051
 
827
1052
  # Returns the given path relative to the absolute root (ie, root where
@@ -841,7 +1066,7 @@ module Thor::Actions
841
1066
  # remove_file 'README'
842
1067
  # remove_file 'app/controllers/application_controller.rb'
843
1068
  #
844
- # source://thor//lib/thor/actions/file_manipulation.rb#329
1069
+ # source://thor//lib/thor/actions/file_manipulation.rb#325
845
1070
  def remove_dir(path, config = T.unsafe(nil)); end
846
1071
 
847
1072
  # Removes a file at the given location.
@@ -855,7 +1080,7 @@ module Thor::Actions
855
1080
  # remove_file 'README'
856
1081
  # remove_file 'app/controllers/application_controller.rb'
857
1082
  #
858
- # source://thor//lib/thor/actions/file_manipulation.rb#329
1083
+ # source://thor//lib/thor/actions/file_manipulation.rb#325
859
1084
  def remove_file(path, config = T.unsafe(nil)); end
860
1085
 
861
1086
  # Executes a command returning the contents of the command.
@@ -871,7 +1096,7 @@ module Thor::Actions
871
1096
  # run('ln -s ~/edge rails')
872
1097
  # end
873
1098
  #
874
- # source://thor//lib/thor/actions.rb#249
1099
+ # source://thor//lib/thor/actions.rb#248
875
1100
  def run(command, config = T.unsafe(nil)); end
876
1101
 
877
1102
  # Executes a ruby script (taking into account WIN32 platform quirks).
@@ -880,7 +1105,7 @@ module Thor::Actions
880
1105
  # command<String>:: the command to be executed.
881
1106
  # config<Hash>:: give :verbose => false to not log the status.
882
1107
  #
883
- # source://thor//lib/thor/actions.rb#286
1108
+ # source://thor//lib/thor/actions.rb#285
884
1109
  def run_ruby_script(command, config = T.unsafe(nil)); end
885
1110
 
886
1111
  # Holds source paths in instance so they can be manipulated.
@@ -903,7 +1128,7 @@ module Thor::Actions
903
1128
  #
904
1129
  # template "doc/README"
905
1130
  #
906
- # source://thor//lib/thor/actions/file_manipulation.rb#115
1131
+ # source://thor//lib/thor/actions/file_manipulation.rb#117
907
1132
  def template(source, *args, &block); end
908
1133
 
909
1134
  # Run a thor command. A hash of options can be given and it's converted to
@@ -924,12 +1149,11 @@ module Thor::Actions
924
1149
  # thor :list, :all => true, :substring => 'rails'
925
1150
  # #=> thor list --all --substring=rails
926
1151
  #
927
- # source://thor//lib/thor/actions.rb#309
1152
+ # source://thor//lib/thor/actions.rb#308
928
1153
  def thor(command, *args); end
929
1154
 
930
- # Uncomment all lines matching a given regex. It will leave the space
931
- # which existed before the comment hash in tact but will remove any spacing
932
- # between the comment hash and the beginning of the line.
1155
+ # Uncomment all lines matching a given regex. Preserves indentation before
1156
+ # the comment hash and removes the hash and any immediate following space.
933
1157
  #
934
1158
  # ==== Parameters
935
1159
  # path<String>:: path of the file to be changed
@@ -940,40 +1164,40 @@ module Thor::Actions
940
1164
  #
941
1165
  # uncomment_lines 'config/initializers/session_store.rb', /active_record/
942
1166
  #
943
- # source://thor//lib/thor/actions/file_manipulation.rb#293
1167
+ # source://thor//lib/thor/actions/file_manipulation.rb#289
944
1168
  def uncomment_lines(path, flag, *args); end
945
1169
 
946
1170
  protected
947
1171
 
948
- # source://thor//lib/thor/actions.rb#330
1172
+ # source://thor//lib/thor/actions.rb#329
949
1173
  def _cleanup_options_and_set(options, key); end
950
1174
 
951
1175
  # Allow current root to be shared between invocations.
952
1176
  #
953
- # source://thor//lib/thor/actions.rb#326
1177
+ # source://thor//lib/thor/actions.rb#325
954
1178
  def _shared_configuration; end
955
1179
 
956
1180
  private
957
1181
 
958
- # source://thor//lib/thor/actions/file_manipulation.rb#350
1182
+ # source://thor//lib/thor/actions/file_manipulation.rb#346
959
1183
  def capture(*args); end
960
1184
 
961
- # source://thor//lib/thor/actions/file_manipulation.rb#346
1185
+ # source://thor//lib/thor/actions/file_manipulation.rb#342
962
1186
  def concat(string); end
963
1187
 
964
1188
  # Returns the value of attribute output_buffer.
965
1189
  #
966
- # source://thor//lib/thor/actions/file_manipulation.rb#341
1190
+ # source://thor//lib/thor/actions/file_manipulation.rb#337
967
1191
  def output_buffer; end
968
1192
 
969
1193
  # Sets the attribute output_buffer
970
1194
  #
971
1195
  # @param value the value to set the attribute output_buffer to.
972
1196
  #
973
- # source://thor//lib/thor/actions/file_manipulation.rb#341
1197
+ # source://thor//lib/thor/actions/file_manipulation.rb#337
974
1198
  def output_buffer=(_arg0); end
975
1199
 
976
- # source://thor//lib/thor/actions/file_manipulation.rb#354
1200
+ # source://thor//lib/thor/actions/file_manipulation.rb#350
977
1201
  def with_output_buffer(buf = T.unsafe(nil)); end
978
1202
 
979
1203
  class << self
@@ -985,9 +1209,9 @@ end
985
1209
  # Thor::Actions#capture depends on what kind of buffer is used in ERB.
986
1210
  # Thus CapturableERB fixes ERB to use String buffer.
987
1211
  #
988
- # source://thor//lib/thor/actions/file_manipulation.rb#366
1212
+ # source://thor//lib/thor/actions/file_manipulation.rb#362
989
1213
  class Thor::Actions::CapturableERB < ::ERB
990
- # source://thor//lib/thor/actions/file_manipulation.rb#367
1214
+ # source://thor//lib/thor/actions/file_manipulation.rb#363
991
1215
  def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
992
1216
  end
993
1217
 
@@ -1043,12 +1267,12 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
1043
1267
  # source://thor//lib/thor/actions/create_file.rb#45
1044
1268
  def identical?; end
1045
1269
 
1046
- # source://thor//lib/thor/actions/create_file.rb#59
1270
+ # source://thor//lib/thor/actions/create_file.rb#60
1047
1271
  def invoke!; end
1048
1272
 
1049
1273
  # Holds the content to be added to the file.
1050
1274
  #
1051
- # source://thor//lib/thor/actions/create_file.rb#51
1275
+ # source://thor//lib/thor/actions/create_file.rb#52
1052
1276
  def render; end
1053
1277
 
1054
1278
  protected
@@ -1057,19 +1281,19 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
1057
1281
  #
1058
1282
  # @return [Boolean]
1059
1283
  #
1060
- # source://thor//lib/thor/actions/create_file.rb#99
1284
+ # source://thor//lib/thor/actions/create_file.rb#100
1061
1285
  def force_on_collision?; end
1062
1286
 
1063
1287
  # If force is true, run the action, otherwise check if it's not being
1064
1288
  # skipped. If both are false, show the file_collision menu, if the menu
1065
1289
  # returns true, force it, otherwise skip.
1066
1290
  #
1067
- # source://thor//lib/thor/actions/create_file.rb#85
1291
+ # source://thor//lib/thor/actions/create_file.rb#86
1068
1292
  def force_or_skip_or_conflict(force, skip, &block); end
1069
1293
 
1070
1294
  # Now on conflict we check if the file is identical or not.
1071
1295
  #
1072
- # source://thor//lib/thor/actions/create_file.rb#72
1296
+ # source://thor//lib/thor/actions/create_file.rb#73
1073
1297
  def on_conflict_behavior(&block); end
1074
1298
  end
1075
1299
 
@@ -1261,17 +1485,25 @@ class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory
1261
1485
  # source://thor//lib/thor/actions/inject_into_file.rb#37
1262
1486
  def replacement; end
1263
1487
 
1264
- # source://thor//lib/thor/actions/inject_into_file.rb#72
1488
+ # source://thor//lib/thor/actions/inject_into_file.rb#74
1265
1489
  def revoke!; end
1266
1490
 
1267
1491
  protected
1268
1492
 
1493
+ # source://thor//lib/thor/actions/inject_into_file.rb#110
1494
+ def content; end
1495
+
1269
1496
  # Adds the content to the file.
1270
1497
  #
1271
- # source://thor//lib/thor/actions/inject_into_file.rb#108
1498
+ # source://thor//lib/thor/actions/inject_into_file.rb#120
1272
1499
  def replace!(regexp, string, force); end
1273
1500
 
1274
- # source://thor//lib/thor/actions/inject_into_file.rb#88
1501
+ # @return [Boolean]
1502
+ #
1503
+ # source://thor//lib/thor/actions/inject_into_file.rb#114
1504
+ def replacement_present?; end
1505
+
1506
+ # source://thor//lib/thor/actions/inject_into_file.rb#90
1275
1507
  def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end
1276
1508
  end
1277
1509
 
@@ -1297,10 +1529,10 @@ end
1297
1529
  # source://thor//lib/thor/actions/inject_into_file.rb#24
1298
1530
  Thor::Actions::WARNINGS = T.let(T.unsafe(nil), Hash)
1299
1531
 
1300
- # source://thor//lib/thor/error.rb#68
1532
+ # source://thor//lib/thor/error.rb#57
1301
1533
  class Thor::AmbiguousCommandError < ::Thor::Error; end
1302
1534
 
1303
- # source://thor//lib/thor/error.rb#70
1535
+ # source://thor//lib/thor/error.rb#59
1304
1536
  Thor::AmbiguousTaskError = Thor::AmbiguousCommandError
1305
1537
 
1306
1538
  # source://thor//lib/thor/parser/argument.rb#2
@@ -1331,6 +1563,9 @@ class Thor::Argument
1331
1563
  # source://thor//lib/thor/parser/argument.rb#5
1332
1564
  def enum; end
1333
1565
 
1566
+ # source://thor//lib/thor/parser/argument.rb#52
1567
+ def enum_to_s; end
1568
+
1334
1569
  # Returns the value of attribute name.
1335
1570
  #
1336
1571
  # source://thor//lib/thor/parser/argument.rb#5
@@ -1341,6 +1576,9 @@ class Thor::Argument
1341
1576
  # source://thor//lib/thor/parser/argument.rb#5
1342
1577
  def name; end
1343
1578
 
1579
+ # source://thor//lib/thor/parser/argument.rb#27
1580
+ def print_default; end
1581
+
1344
1582
  # Returns the value of attribute required.
1345
1583
  #
1346
1584
  # source://thor//lib/thor/parser/argument.rb#5
@@ -1348,12 +1586,12 @@ class Thor::Argument
1348
1586
 
1349
1587
  # @return [Boolean]
1350
1588
  #
1351
- # source://thor//lib/thor/parser/argument.rb#31
1589
+ # source://thor//lib/thor/parser/argument.rb#39
1352
1590
  def required?; end
1353
1591
 
1354
1592
  # @return [Boolean]
1355
1593
  #
1356
- # source://thor//lib/thor/parser/argument.rb#35
1594
+ # source://thor//lib/thor/parser/argument.rb#43
1357
1595
  def show_default?; end
1358
1596
 
1359
1597
  # Returns the value of attribute type.
@@ -1361,22 +1599,22 @@ class Thor::Argument
1361
1599
  # source://thor//lib/thor/parser/argument.rb#5
1362
1600
  def type; end
1363
1601
 
1364
- # source://thor//lib/thor/parser/argument.rb#27
1602
+ # source://thor//lib/thor/parser/argument.rb#35
1365
1603
  def usage; end
1366
1604
 
1367
1605
  protected
1368
1606
 
1369
- # source://thor//lib/thor/parser/argument.rb#55
1607
+ # source://thor//lib/thor/parser/argument.rb#71
1370
1608
  def default_banner; end
1371
1609
 
1372
1610
  # @return [Boolean]
1373
1611
  #
1374
- # source://thor//lib/thor/parser/argument.rb#51
1612
+ # source://thor//lib/thor/parser/argument.rb#67
1375
1613
  def valid_type?(type); end
1376
1614
 
1377
1615
  # @raise [ArgumentError]
1378
1616
  #
1379
- # source://thor//lib/thor/parser/argument.rb#46
1617
+ # source://thor//lib/thor/parser/argument.rb#62
1380
1618
  def validate!; end
1381
1619
  end
1382
1620
 
@@ -1392,10 +1630,10 @@ class Thor::Arguments
1392
1630
  # source://thor//lib/thor/parser/arguments.rb#26
1393
1631
  def initialize(arguments = T.unsafe(nil)); end
1394
1632
 
1395
- # source://thor//lib/thor/parser/arguments.rb#44
1633
+ # source://thor//lib/thor/parser/arguments.rb#40
1396
1634
  def parse(args); end
1397
1635
 
1398
- # source://thor//lib/thor/parser/arguments.rb#57
1636
+ # source://thor//lib/thor/parser/arguments.rb#53
1399
1637
  def remaining; end
1400
1638
 
1401
1639
  private
@@ -1404,22 +1642,22 @@ class Thor::Arguments
1404
1642
  #
1405
1643
  # @raise [RequiredArgumentMissingError]
1406
1644
  #
1407
- # source://thor//lib/thor/parser/arguments.rb#170
1645
+ # source://thor//lib/thor/parser/arguments.rb#186
1408
1646
  def check_requirement!; end
1409
1647
 
1410
1648
  # @return [Boolean]
1411
1649
  #
1412
- # source://thor//lib/thor/parser/arguments.rb#88
1650
+ # source://thor//lib/thor/parser/arguments.rb#84
1413
1651
  def current_is_value?; end
1414
1652
 
1415
1653
  # @return [Boolean]
1416
1654
  #
1417
- # source://thor//lib/thor/parser/arguments.rb#68
1655
+ # source://thor//lib/thor/parser/arguments.rb#64
1418
1656
  def last?; end
1419
1657
 
1420
1658
  # @return [Boolean]
1421
1659
  #
1422
- # source://thor//lib/thor/parser/arguments.rb#63
1660
+ # source://thor//lib/thor/parser/arguments.rb#59
1423
1661
  def no_or_skip?(arg); end
1424
1662
 
1425
1663
  # Runs through the argument array getting all strings until no string is
@@ -1431,7 +1669,7 @@ class Thor::Arguments
1431
1669
  #
1432
1670
  # ["a", "b", "c"]
1433
1671
  #
1434
- # source://thor//lib/thor/parser/arguments.rb#122
1672
+ # source://thor//lib/thor/parser/arguments.rb#118
1435
1673
  def parse_array(name); end
1436
1674
 
1437
1675
  # Runs through the argument array getting strings that contains ":" and
@@ -1443,14 +1681,14 @@ class Thor::Arguments
1443
1681
  #
1444
1682
  # { "name" => "string", "age" => "integer" }
1445
1683
  #
1446
- # source://thor//lib/thor/parser/arguments.rb#101
1684
+ # source://thor//lib/thor/parser/arguments.rb#97
1447
1685
  def parse_hash(name); end
1448
1686
 
1449
1687
  # Check if the peek is numeric format and return a Float or Integer.
1450
1688
  # Check if the peek is included in enum if enum is provided.
1451
1689
  # Otherwise raises an error.
1452
1690
  #
1453
- # source://thor//lib/thor/parser/arguments.rb#133
1691
+ # source://thor//lib/thor/parser/arguments.rb#139
1454
1692
  def parse_numeric(name); end
1455
1693
 
1456
1694
  # Parse string:
@@ -1458,18 +1696,23 @@ class Thor::Arguments
1458
1696
  # for --no-string-arg, nil
1459
1697
  # Check if the peek is included in enum if enum is provided. Otherwise raises an error.
1460
1698
  #
1461
- # source://thor//lib/thor/parser/arguments.rb#154
1699
+ # source://thor//lib/thor/parser/arguments.rb#158
1462
1700
  def parse_string(name); end
1463
1701
 
1464
- # source://thor//lib/thor/parser/arguments.rb#72
1702
+ # source://thor//lib/thor/parser/arguments.rb#68
1465
1703
  def peek; end
1466
1704
 
1467
- # source://thor//lib/thor/parser/arguments.rb#76
1705
+ # source://thor//lib/thor/parser/arguments.rb#72
1468
1706
  def shift; end
1469
1707
 
1470
- # source://thor//lib/thor/parser/arguments.rb#80
1708
+ # source://thor//lib/thor/parser/arguments.rb#76
1471
1709
  def unshift(arg); end
1472
1710
 
1711
+ # Raises an error if the switch is an enum and the values aren't included on it.
1712
+ #
1713
+ # source://thor//lib/thor/parser/arguments.rb#172
1714
+ def validate_enum_value!(name, value, message); end
1715
+
1473
1716
  class << self
1474
1717
  # source://thor//lib/thor/parser/arguments.rb#19
1475
1718
  def parse(*args); end
@@ -1485,6 +1728,9 @@ end
1485
1728
  # source://thor//lib/thor/parser/arguments.rb#3
1486
1729
  Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp)
1487
1730
 
1731
+ # source://thor//lib/thor/error.rb#104
1732
+ class Thor::AtLeastOneRequiredArgumentError < ::Thor::InvocationError; end
1733
+
1488
1734
  # source://thor//lib/thor/shell.rb#4
1489
1735
  module Thor::Base
1490
1736
  include ::Thor::Invocation
@@ -1549,13 +1795,13 @@ module Thor::Base
1549
1795
  def parent_options=(_arg0); end
1550
1796
 
1551
1797
  class << self
1552
- # source://thor//lib/thor/base.rb#100
1798
+ # source://thor//lib/thor/base.rb#116
1553
1799
  def included(base); end
1554
1800
 
1555
1801
  # Whenever a class inherits from Thor or Thor::Group, we should track the
1556
1802
  # class and the file on Thor::Base. This is the method responsible for it.
1557
1803
  #
1558
- # source://thor//lib/thor/base.rb#128
1804
+ # source://thor//lib/thor/base.rb#144
1559
1805
  def register_klass_file(klass); end
1560
1806
 
1561
1807
  # Returns the shell used in all Thor classes. If you are in a Unix platform
@@ -1576,7 +1822,7 @@ module Thor::Base
1576
1822
  # ==== Returns
1577
1823
  # Hash[path<String> => Class]
1578
1824
  #
1579
- # source://thor//lib/thor/base.rb#121
1825
+ # source://thor//lib/thor/base.rb#137
1580
1826
  def subclass_files; end
1581
1827
 
1582
1828
  # Returns the classes that inherits from Thor or Thor::Group.
@@ -1584,12 +1830,12 @@ module Thor::Base
1584
1830
  # ==== Returns
1585
1831
  # Array[Class]
1586
1832
  #
1587
- # source://thor//lib/thor/base.rb#112
1833
+ # source://thor//lib/thor/base.rb#128
1588
1834
  def subclasses; end
1589
1835
  end
1590
1836
  end
1591
1837
 
1592
- # source://thor//lib/thor/base.rb#137
1838
+ # source://thor//lib/thor/base.rb#153
1593
1839
  module Thor::Base::ClassMethods
1594
1840
  # Returns the commands for this Thor class and all subclasses.
1595
1841
  #
@@ -1597,7 +1843,7 @@ module Thor::Base::ClassMethods
1597
1843
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1598
1844
  # objects as values.
1599
1845
  #
1600
- # source://thor//lib/thor/base.rb#383
1846
+ # source://thor//lib/thor/base.rb#482
1601
1847
  def all_commands; end
1602
1848
 
1603
1849
  # Returns the commands for this Thor class and all subclasses.
@@ -1606,13 +1852,13 @@ module Thor::Base::ClassMethods
1606
1852
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1607
1853
  # objects as values.
1608
1854
  #
1609
- # source://thor//lib/thor/base.rb#383
1855
+ # source://thor//lib/thor/base.rb#482
1610
1856
  def all_tasks; end
1611
1857
 
1612
1858
  # If you want to use defaults that don't match the type of an option,
1613
1859
  # either specify `check_default_type: false` or call `allow_incompatible_default_type!`
1614
1860
  #
1615
- # source://thor//lib/thor/base.rb#173
1861
+ # source://thor//lib/thor/base.rb#189
1616
1862
  def allow_incompatible_default_type!; end
1617
1863
 
1618
1864
  # Adds an argument to the class and creates an attr_accessor for it.
@@ -1650,7 +1896,7 @@ module Thor::Base::ClassMethods
1650
1896
  # ==== Errors
1651
1897
  # ArgumentError:: Raised if you supply a required argument after a non required one.
1652
1898
  #
1653
- # source://thor//lib/thor/base.rb#245
1899
+ # source://thor//lib/thor/base.rb#261
1654
1900
  def argument(name, options = T.unsafe(nil)); end
1655
1901
 
1656
1902
  # Returns this class arguments, looking up in the ancestors chain.
@@ -1658,42 +1904,116 @@ module Thor::Base::ClassMethods
1658
1904
  # ==== Returns
1659
1905
  # Array[Thor::Argument]
1660
1906
  #
1661
- # source://thor//lib/thor/base.rb#277
1907
+ # source://thor//lib/thor/base.rb#293
1662
1908
  def arguments; end
1663
1909
 
1664
- # source://thor//lib/thor/base.rb#146
1910
+ # source://thor//lib/thor/base.rb#162
1665
1911
  def attr_accessor(*_arg0); end
1666
1912
 
1667
- # source://thor//lib/thor/base.rb#138
1913
+ # source://thor//lib/thor/base.rb#154
1668
1914
  def attr_reader(*_arg0); end
1669
1915
 
1670
- # source://thor//lib/thor/base.rb#142
1916
+ # source://thor//lib/thor/base.rb#158
1671
1917
  def attr_writer(*_arg0); end
1672
1918
 
1673
- # source://thor//lib/thor/base.rb#177
1919
+ # source://thor//lib/thor/base.rb#193
1674
1920
  def check_default_type; end
1675
1921
 
1676
1922
  # If you want to raise an error when the default value of an option does not match
1677
1923
  # the type call check_default_type!
1678
1924
  # This will be the default; for compatibility a deprecation warning is issued if necessary.
1679
1925
  #
1680
- # source://thor//lib/thor/base.rb#167
1926
+ # source://thor//lib/thor/base.rb#183
1681
1927
  def check_default_type!; end
1682
1928
 
1683
- # source://thor//lib/thor/base.rb#156
1929
+ # source://thor//lib/thor/base.rb#172
1684
1930
  def check_unknown_options; end
1685
1931
 
1686
1932
  # If you want to raise an error for unknown options, call check_unknown_options!
1687
1933
  # This is disabled by default to allow dynamic invocations.
1688
1934
  #
1689
- # source://thor//lib/thor/base.rb#152
1935
+ # source://thor//lib/thor/base.rb#168
1690
1936
  def check_unknown_options!; end
1691
1937
 
1692
1938
  # @return [Boolean]
1693
1939
  #
1694
- # source://thor//lib/thor/base.rb#160
1940
+ # source://thor//lib/thor/base.rb#176
1695
1941
  def check_unknown_options?(config); end
1696
1942
 
1943
+ # Adds and declares option group for required at least one of options in the
1944
+ # block and arguments. You can declare options as the outside of the block.
1945
+ #
1946
+ # ==== Examples
1947
+ #
1948
+ # class_at_least_one do
1949
+ # class_option :one
1950
+ # class_option :two
1951
+ # end
1952
+ #
1953
+ # Or
1954
+ #
1955
+ # class_option :one
1956
+ # class_option :two
1957
+ # class_at_least_one :one, :two
1958
+ #
1959
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
1960
+ # will be raised.
1961
+ #
1962
+ # You can use class_at_least_one and class_exclusive at the same time.
1963
+ #
1964
+ # class_exclusive do
1965
+ # class_at_least_one do
1966
+ # class_option :one
1967
+ # class_option :two
1968
+ # end
1969
+ # end
1970
+ #
1971
+ # Then it is required either only one of "--one" or "--two".
1972
+ #
1973
+ # source://thor//lib/thor/base.rb#392
1974
+ def class_at_least_one(*args, &block); end
1975
+
1976
+ # Returns this class at least one of required options array set, looking up in the ancestors chain.
1977
+ #
1978
+ # ==== Returns
1979
+ # Array[Array[Thor::Option.name]]
1980
+ #
1981
+ # source://thor//lib/thor/base.rb#411
1982
+ def class_at_least_one_option_names; end
1983
+
1984
+ # Adds and declares option group for exclusive options in the
1985
+ # block and arguments. You can declare options as the outside of the block.
1986
+ #
1987
+ # ==== Parameters
1988
+ # Array[Thor::Option.name]
1989
+ #
1990
+ # ==== Examples
1991
+ #
1992
+ # class_exclusive do
1993
+ # class_option :one
1994
+ # class_option :two
1995
+ # end
1996
+ #
1997
+ # Or
1998
+ #
1999
+ # class_option :one
2000
+ # class_option :two
2001
+ # class_exclusive :one, :two
2002
+ #
2003
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
2004
+ # will be raised.
2005
+ #
2006
+ # source://thor//lib/thor/base.rb#357
2007
+ def class_exclusive(*args, &block); end
2008
+
2009
+ # Returns this class exclusive options array set, looking up in the ancestors chain.
2010
+ #
2011
+ # ==== Returns
2012
+ # Array[Array[Thor::Option.name]]
2013
+ #
2014
+ # source://thor//lib/thor/base.rb#402
2015
+ def class_exclusive_option_names; end
2016
+
1697
2017
  # Adds an option to the set of class options
1698
2018
  #
1699
2019
  # ==== Parameters
@@ -1710,7 +2030,7 @@ module Thor::Base::ClassMethods
1710
2030
  # :banner:: -- String to show on usage notes.
1711
2031
  # :hide:: -- If you want to hide this option from the help.
1712
2032
  #
1713
- # source://thor//lib/thor/base.rb#312
2033
+ # source://thor//lib/thor/base.rb#328
1714
2034
  def class_option(name, options = T.unsafe(nil)); end
1715
2035
 
1716
2036
  # Adds a bunch of options to the set of class options.
@@ -1722,7 +2042,7 @@ module Thor::Base::ClassMethods
1722
2042
  # ==== Parameters
1723
2043
  # Hash[Symbol => Object]
1724
2044
  #
1725
- # source://thor//lib/thor/base.rb#290
2045
+ # source://thor//lib/thor/base.rb#306
1726
2046
  def class_options(options = T.unsafe(nil)); end
1727
2047
 
1728
2048
  # Returns the commands for this Thor class.
@@ -1731,7 +2051,7 @@ module Thor::Base::ClassMethods
1731
2051
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1732
2052
  # objects as values.
1733
2053
  #
1734
- # source://thor//lib/thor/base.rb#372
2054
+ # source://thor//lib/thor/base.rb#471
1735
2055
  def commands; end
1736
2056
 
1737
2057
  # If true, option set will not suspend the execution of the command when
@@ -1739,14 +2059,14 @@ module Thor::Base::ClassMethods
1739
2059
  #
1740
2060
  # @return [Boolean]
1741
2061
  #
1742
- # source://thor//lib/thor/base.rb#191
2062
+ # source://thor//lib/thor/base.rb#207
1743
2063
  def disable_required_check?(command_name); end
1744
2064
 
1745
2065
  # A flag that makes the process exit with status 1 if any error happens.
1746
2066
  #
1747
2067
  # @return [Boolean]
1748
2068
  #
1749
- # source://thor//lib/thor/base.rb#529
2069
+ # source://thor//lib/thor/base.rb#628
1750
2070
  def exit_on_failure?; end
1751
2071
 
1752
2072
  # Defines the group. This is used when thor list is invoked so you can specify
@@ -1755,22 +2075,22 @@ module Thor::Base::ClassMethods
1755
2075
  # ==== Parameters
1756
2076
  # name<String|Symbol>
1757
2077
  #
1758
- # source://thor//lib/thor/base.rb#358
2078
+ # source://thor//lib/thor/base.rb#457
1759
2079
  def group(name = T.unsafe(nil)); end
1760
2080
 
1761
2081
  # @raise [InvocationError]
1762
2082
  #
1763
- # source://thor//lib/thor/base.rb#519
2083
+ # source://thor//lib/thor/base.rb#618
1764
2084
  def handle_argument_error(command, error, args, arity); end
1765
2085
 
1766
2086
  # @raise [UndefinedCommandError]
1767
2087
  #
1768
- # source://thor//lib/thor/base.rb#514
2088
+ # source://thor//lib/thor/base.rb#613
1769
2089
  def handle_no_command_error(command, has_namespace = T.unsafe(nil)); end
1770
2090
 
1771
2091
  # @raise [UndefinedCommandError]
1772
2092
  #
1773
- # source://thor//lib/thor/base.rb#514
2093
+ # source://thor//lib/thor/base.rb#613
1774
2094
  def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end
1775
2095
 
1776
2096
  # Sets the namespace for the Thor or Thor::Group class. By default the
@@ -1795,7 +2115,7 @@ module Thor::Base::ClassMethods
1795
2115
  #
1796
2116
  # thor :my_command
1797
2117
  #
1798
- # source://thor//lib/thor/base.rb#467
2118
+ # source://thor//lib/thor/base.rb#566
1799
2119
  def namespace(name = T.unsafe(nil)); end
1800
2120
 
1801
2121
  # All methods defined inside the given block are not added as commands.
@@ -1817,15 +2137,15 @@ module Thor::Base::ClassMethods
1817
2137
  # remove_command :this_is_not_a_command
1818
2138
  # end
1819
2139
  #
1820
- # source://thor//lib/thor/base.rb#431
2140
+ # source://thor//lib/thor/base.rb#530
1821
2141
  def no_commands(&block); end
1822
2142
 
1823
2143
  # @return [Boolean]
1824
2144
  #
1825
- # source://thor//lib/thor/base.rb#441
2145
+ # source://thor//lib/thor/base.rb#540
1826
2146
  def no_commands?; end
1827
2147
 
1828
- # source://thor//lib/thor/base.rb#437
2148
+ # source://thor//lib/thor/base.rb#536
1829
2149
  def no_commands_context; end
1830
2150
 
1831
2151
  # All methods defined inside the given block are not added as commands.
@@ -1847,7 +2167,7 @@ module Thor::Base::ClassMethods
1847
2167
  # remove_command :this_is_not_a_command
1848
2168
  # end
1849
2169
  #
1850
- # source://thor//lib/thor/base.rb#431
2170
+ # source://thor//lib/thor/base.rb#530
1851
2171
  def no_tasks(&block); end
1852
2172
 
1853
2173
  # Allows to use private methods from parent in child classes as commands.
@@ -1860,7 +2180,7 @@ module Thor::Base::ClassMethods
1860
2180
  # public_command :foo
1861
2181
  # public_command :foo, :bar, :baz
1862
2182
  #
1863
- # source://thor//lib/thor/base.rb#507
2183
+ # source://thor//lib/thor/base.rb#606
1864
2184
  def public_command(*names); end
1865
2185
 
1866
2186
  # Allows to use private methods from parent in child classes as commands.
@@ -1873,7 +2193,7 @@ module Thor::Base::ClassMethods
1873
2193
  # public_command :foo
1874
2194
  # public_command :foo, :bar, :baz
1875
2195
  #
1876
- # source://thor//lib/thor/base.rb#507
2196
+ # source://thor//lib/thor/base.rb#606
1877
2197
  def public_task(*names); end
1878
2198
 
1879
2199
  # Removes a previous defined argument. If :undefine is given, undefine
@@ -1887,7 +2207,7 @@ module Thor::Base::ClassMethods
1887
2207
  # remove_argument :foo
1888
2208
  # remove_argument :foo, :bar, :baz, :undefine => true
1889
2209
  #
1890
- # source://thor//lib/thor/base.rb#327
2210
+ # source://thor//lib/thor/base.rb#426
1891
2211
  def remove_argument(*names); end
1892
2212
 
1893
2213
  # Removes a previous defined class option.
@@ -1900,7 +2220,7 @@ module Thor::Base::ClassMethods
1900
2220
  # remove_class_option :foo
1901
2221
  # remove_class_option :foo, :bar, :baz
1902
2222
  #
1903
- # source://thor//lib/thor/base.rb#346
2223
+ # source://thor//lib/thor/base.rb#445
1904
2224
  def remove_class_option(*names); end
1905
2225
 
1906
2226
  # Removes a given command from this Thor class. This is usually done if you
@@ -1915,7 +2235,7 @@ module Thor::Base::ClassMethods
1915
2235
  # options<Hash>:: You can give :undefine => true if you want commands the method
1916
2236
  # to be undefined from the class as well.
1917
2237
  #
1918
- # source://thor//lib/thor/base.rb#401
2238
+ # source://thor//lib/thor/base.rb#500
1919
2239
  def remove_command(*names); end
1920
2240
 
1921
2241
  # Removes a given command from this Thor class. This is usually done if you
@@ -1930,7 +2250,7 @@ module Thor::Base::ClassMethods
1930
2250
  # options<Hash>:: You can give :undefine => true if you want commands the method
1931
2251
  # to be undefined from the class as well.
1932
2252
  #
1933
- # source://thor//lib/thor/base.rb#401
2253
+ # source://thor//lib/thor/base.rb#500
1934
2254
  def remove_task(*names); end
1935
2255
 
1936
2256
  # Parses the command and options from the given args, instantiate the class
@@ -1941,7 +2261,7 @@ module Thor::Base::ClassMethods
1941
2261
  # script = MyScript.new(args, options, config)
1942
2262
  # script.invoke(:command, first_arg, second_arg, third_arg)
1943
2263
  #
1944
- # source://thor//lib/thor/base.rb#483
2264
+ # source://thor//lib/thor/base.rb#582
1945
2265
  def start(given_args = T.unsafe(nil), config = T.unsafe(nil)); end
1946
2266
 
1947
2267
  # If true, option parsing is suspended as soon as an unknown option or a
@@ -1950,22 +2270,22 @@ module Thor::Base::ClassMethods
1950
2270
  #
1951
2271
  # @return [Boolean]
1952
2272
  #
1953
- # source://thor//lib/thor/base.rb#185
2273
+ # source://thor//lib/thor/base.rb#201
1954
2274
  def stop_on_unknown_option?(command_name); end
1955
2275
 
1956
- # source://thor//lib/thor/base.rb#202
2276
+ # source://thor//lib/thor/base.rb#218
1957
2277
  def strict_args_position; end
1958
2278
 
1959
2279
  # If you want only strict string args (useful when cascading thor classes),
1960
2280
  # call strict_args_position! This is disabled by default to allow dynamic
1961
2281
  # invocations.
1962
2282
  #
1963
- # source://thor//lib/thor/base.rb#198
2283
+ # source://thor//lib/thor/base.rb#214
1964
2284
  def strict_args_position!; end
1965
2285
 
1966
2286
  # @return [Boolean]
1967
2287
  #
1968
- # source://thor//lib/thor/base.rb#206
2288
+ # source://thor//lib/thor/base.rb#222
1969
2289
  def strict_args_position?(config); end
1970
2290
 
1971
2291
  # Returns the commands for this Thor class.
@@ -1974,7 +2294,7 @@ module Thor::Base::ClassMethods
1974
2294
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1975
2295
  # objects as values.
1976
2296
  #
1977
- # source://thor//lib/thor/base.rb#372
2297
+ # source://thor//lib/thor/base.rb#471
1978
2298
  def tasks; end
1979
2299
 
1980
2300
  protected
@@ -1982,12 +2302,12 @@ module Thor::Base::ClassMethods
1982
2302
  # SIGNATURE: Sets the baseclass. This is where the superclass lookup
1983
2303
  # finishes.
1984
2304
  #
1985
- # source://thor//lib/thor/base.rb#678
2305
+ # source://thor//lib/thor/base.rb#777
1986
2306
  def baseclass; end
1987
2307
 
1988
2308
  # The basename of the program invoking the thor class.
1989
2309
  #
1990
- # source://thor//lib/thor/base.rb#672
2310
+ # source://thor//lib/thor/base.rb#771
1991
2311
  def basename; end
1992
2312
 
1993
2313
  # Build an option and adds it to the given scope.
@@ -1997,7 +2317,7 @@ module Thor::Base::ClassMethods
1997
2317
  # options<Hash>:: Described in both class_option and method_option.
1998
2318
  # scope<Hash>:: Options hash that is being built up
1999
2319
  #
2000
- # source://thor//lib/thor/base.rb#589
2320
+ # source://thor//lib/thor/base.rb#688
2001
2321
  def build_option(name, options, scope); end
2002
2322
 
2003
2323
  # Receives a hash of options, parse them and add to the scope. This is a
@@ -2008,83 +2328,100 @@ module Thor::Base::ClassMethods
2008
2328
  # ==== Parameters
2009
2329
  # Hash[Symbol => Object]
2010
2330
  #
2011
- # source://thor//lib/thor/base.rb#600
2331
+ # source://thor//lib/thor/base.rb#699
2012
2332
  def build_options(options, scope); end
2013
2333
 
2334
+ # Get target(method_options or class_options) options
2335
+ # of before and after by block evaluation.
2336
+ #
2337
+ # source://thor//lib/thor/base.rb#808
2338
+ def built_option_names(target, opt = T.unsafe(nil), &block); end
2339
+
2014
2340
  # Prints the class options per group. If an option does not belong to
2015
2341
  # any group, it's printed as Class option.
2016
2342
  #
2017
- # source://thor//lib/thor/base.rb#539
2343
+ # source://thor//lib/thor/base.rb#638
2018
2344
  def class_options_help(shell, groups = T.unsafe(nil)); end
2019
2345
 
2346
+ # Get command scope member by name.
2347
+ #
2348
+ # source://thor//lib/thor/base.rb#816
2349
+ def command_scope_member(name, options = T.unsafe(nil)); end
2350
+
2020
2351
  # SIGNATURE: Creates a new command if valid_command? is true. This method is
2021
2352
  # called when a new method is added to the class.
2022
2353
  #
2023
- # source://thor//lib/thor/base.rb#683
2354
+ # source://thor//lib/thor/base.rb#782
2024
2355
  def create_command(meth); end
2025
2356
 
2026
2357
  # SIGNATURE: Creates a new command if valid_command? is true. This method is
2027
2358
  # called when a new method is added to the class.
2028
2359
  #
2029
- # source://thor//lib/thor/base.rb#683
2360
+ # source://thor//lib/thor/base.rb#782
2030
2361
  def create_task(meth); end
2031
2362
 
2032
2363
  # SIGNATURE: The hook invoked by start.
2033
2364
  #
2034
2365
  # @raise [NotImplementedError]
2035
2366
  #
2036
- # source://thor//lib/thor/base.rb#693
2367
+ # source://thor//lib/thor/base.rb#792
2037
2368
  def dispatch(command, given_args, given_opts, config); end
2038
2369
 
2039
2370
  # Finds a command with the given name. If the command belongs to the current
2040
2371
  # class, just return it, otherwise dup it and add the fresh copy to the
2041
2372
  # current command hash.
2042
2373
  #
2043
- # source://thor//lib/thor/base.rb#609
2374
+ # source://thor//lib/thor/base.rb#708
2044
2375
  def find_and_refresh_command(name); end
2045
2376
 
2046
2377
  # Finds a command with the given name. If the command belongs to the current
2047
2378
  # class, just return it, otherwise dup it and add the fresh copy to the
2048
2379
  # current command hash.
2049
2380
  #
2050
- # source://thor//lib/thor/base.rb#609
2381
+ # source://thor//lib/thor/base.rb#708
2051
2382
  def find_and_refresh_task(name); end
2052
2383
 
2053
2384
  # Retrieves a value from superclass. If it reaches the baseclass,
2054
2385
  # returns default.
2055
2386
  #
2056
- # source://thor//lib/thor/base.rb#650
2387
+ # source://thor//lib/thor/base.rb#749
2057
2388
  def from_superclass(method, default = T.unsafe(nil)); end
2058
2389
 
2059
2390
  # Every time someone inherits from a Thor class, register the klass
2060
2391
  # and file into baseclass.
2061
2392
  #
2062
- # source://thor//lib/thor/base.rb#622
2393
+ # source://thor//lib/thor/base.rb#721
2063
2394
  def inherited(klass); end
2064
2395
 
2065
2396
  # SIGNATURE: Defines behavior when the initialize method is added to the
2066
2397
  # class.
2067
2398
  #
2068
- # source://thor//lib/thor/base.rb#689
2399
+ # source://thor//lib/thor/base.rb#788
2069
2400
  def initialize_added; end
2070
2401
 
2071
2402
  # Raises an error if the word given is a Thor reserved word.
2072
2403
  #
2073
2404
  # @return [Boolean]
2074
2405
  #
2075
- # source://thor//lib/thor/base.rb#578
2406
+ # source://thor//lib/thor/base.rb#677
2076
2407
  def is_thor_reserved_word?(word, type); end
2077
2408
 
2078
2409
  # Fire this callback whenever a method is added. Added methods are
2079
2410
  # tracked as commands by invoking the create_command method.
2080
2411
  #
2081
- # source://thor//lib/thor/base.rb#630
2412
+ # source://thor//lib/thor/base.rb#729
2082
2413
  def method_added(meth); end
2083
2414
 
2084
2415
  # Receives a set of options and print them.
2085
2416
  #
2086
- # source://thor//lib/thor/base.rb#557
2417
+ # source://thor//lib/thor/base.rb#656
2087
2418
  def print_options(shell, options, group_name = T.unsafe(nil)); end
2419
+
2420
+ # Register a relation of options for target(method_option/class_option)
2421
+ # by args and block.
2422
+ #
2423
+ # source://thor//lib/thor/base.rb#798
2424
+ def register_options_relation_for(target, relation, *args, &block); end
2088
2425
  end
2089
2426
 
2090
2427
  # source://thor//lib/thor/command.rb#2
@@ -2092,68 +2429,74 @@ class Thor::Command < ::Struct
2092
2429
  # @return [Command] a new instance of Command
2093
2430
  #
2094
2431
  # source://thor//lib/thor/command.rb#5
2095
- def initialize(name, description, long_description, usage, options = T.unsafe(nil)); end
2432
+ def initialize(name, description, long_description, wrap_long_description, usage, options = T.unsafe(nil), options_relation = T.unsafe(nil)); end
2096
2433
 
2097
2434
  # Returns the formatted usage by injecting given required arguments
2098
2435
  # and required options into the given usage.
2099
2436
  #
2100
- # source://thor//lib/thor/command.rb#41
2437
+ # source://thor//lib/thor/command.rb#42
2101
2438
  def formatted_usage(klass, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
2102
2439
 
2103
2440
  # @return [Boolean]
2104
2441
  #
2105
- # source://thor//lib/thor/command.rb#14
2442
+ # source://thor//lib/thor/command.rb#15
2106
2443
  def hidden?; end
2107
2444
 
2445
+ # source://thor//lib/thor/command.rb#70
2446
+ def method_at_least_one_option_names; end
2447
+
2448
+ # source://thor//lib/thor/command.rb#66
2449
+ def method_exclusive_option_names; end
2450
+
2108
2451
  # By default, a command invokes a method in the thor class. You can change this
2109
2452
  # implementation to create custom commands.
2110
2453
  #
2111
- # source://thor//lib/thor/command.rb#20
2454
+ # source://thor//lib/thor/command.rb#21
2112
2455
  def run(instance, args = T.unsafe(nil)); end
2113
2456
 
2114
2457
  protected
2115
2458
 
2116
2459
  # @return [Boolean]
2117
2460
  #
2118
- # source://thor//lib/thor/command.rb#105
2461
+ # source://thor//lib/thor/command.rb#114
2119
2462
  def handle_argument_error?(instance, error, caller); end
2120
2463
 
2121
2464
  # @return [Boolean]
2122
2465
  #
2123
- # source://thor//lib/thor/command.rb#112
2466
+ # source://thor//lib/thor/command.rb#121
2124
2467
  def handle_no_method_error?(instance, error, caller); end
2125
2468
 
2126
2469
  # @return [Boolean]
2127
2470
  #
2128
- # source://thor//lib/thor/command.rb#95
2471
+ # source://thor//lib/thor/command.rb#104
2129
2472
  def local_method?(instance, name); end
2130
2473
 
2131
2474
  # @return [Boolean]
2132
2475
  #
2133
- # source://thor//lib/thor/command.rb#78
2476
+ # source://thor//lib/thor/command.rb#87
2134
2477
  def not_debugging?(instance); end
2135
2478
 
2136
2479
  # @return [Boolean]
2137
2480
  #
2138
- # source://thor//lib/thor/command.rb#91
2481
+ # source://thor//lib/thor/command.rb#100
2139
2482
  def private_method?(instance); end
2140
2483
 
2141
2484
  # Given a target, checks if this class name is a public method.
2142
2485
  #
2143
2486
  # @return [Boolean]
2144
2487
  #
2145
- # source://thor//lib/thor/command.rb#87
2488
+ # source://thor//lib/thor/command.rb#96
2146
2489
  def public_method?(instance); end
2147
2490
 
2148
2491
  # Add usage with required arguments
2149
2492
  #
2150
- # source://thor//lib/thor/command.rb#68
2493
+ # source://thor//lib/thor/command.rb#77
2151
2494
  def required_arguments_for(klass, usage); end
2152
2495
 
2153
- # source://thor//lib/thor/command.rb#82
2496
+ # source://thor//lib/thor/command.rb#91
2154
2497
  def required_options; end
2155
2498
 
2156
- # source://thor//lib/thor/command.rb#100
2499
+ # source://thor//lib/thor/command.rb#109
2157
2500
  def sans_backtrace(backtrace, caller); end
2158
2501
 
2159
2502
  private
@@ -2200,35 +2543,38 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
2200
2543
 
2201
2544
  # @return [Boolean]
2202
2545
  #
2203
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
2546
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
2204
2547
  def key?(key); end
2205
2548
 
2206
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
2549
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
2207
2550
  def merge(other); end
2208
2551
 
2209
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
2552
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#57
2210
2553
  def merge!(other); end
2211
2554
 
2212
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
2555
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#72
2213
2556
  def replace(other_hash); end
2214
2557
 
2215
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#60
2558
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
2216
2559
  def reverse_merge(other); end
2217
2560
 
2218
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
2561
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
2219
2562
  def reverse_merge!(other_hash); end
2220
2563
 
2564
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
2565
+ def slice(*keys); end
2566
+
2221
2567
  # Convert to a Hash with String keys.
2222
2568
  #
2223
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#73
2569
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#77
2224
2570
  def to_hash; end
2225
2571
 
2226
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
2572
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
2227
2573
  def values_at(*indices); end
2228
2574
 
2229
2575
  protected
2230
2576
 
2231
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#79
2577
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#83
2232
2578
  def convert_key(key); end
2233
2579
 
2234
2580
  # Magic predicates. For instance:
@@ -2237,33 +2583,33 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
2237
2583
  # options.shebang # => "/usr/lib/local/ruby"
2238
2584
  # options.test_framework?(:rspec) # => options[:test_framework] == :rspec
2239
2585
  #
2240
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#89
2586
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#93
2241
2587
  def method_missing(method, *args); end
2242
2588
  end
2243
2589
 
2244
- # source://thor//lib/thor/error.rb#14
2590
+ # source://thor//lib/thor/error.rb#3
2245
2591
  module Thor::Correctable
2246
- # source://thor//lib/thor/error.rb#19
2592
+ # source://thor//lib/thor/error.rb#8
2247
2593
  def corrections; end
2248
2594
 
2249
- # source://thor//lib/thor/error.rb#15
2595
+ # source://thor//lib/thor/error.rb#4
2250
2596
  def to_s; end
2251
2597
  end
2252
2598
 
2253
2599
  # A dynamic command that handles method missing scenarios.
2254
2600
  #
2255
- # source://thor//lib/thor/command.rb#128
2601
+ # source://thor//lib/thor/command.rb#137
2256
2602
  class Thor::DynamicCommand < ::Thor::Command
2257
2603
  # @return [DynamicCommand] a new instance of DynamicCommand
2258
2604
  #
2259
- # source://thor//lib/thor/command.rb#129
2605
+ # source://thor//lib/thor/command.rb#138
2260
2606
  def initialize(name, options = T.unsafe(nil)); end
2261
2607
 
2262
- # source://thor//lib/thor/command.rb#133
2608
+ # source://thor//lib/thor/command.rb#142
2263
2609
  def run(instance, args = T.unsafe(nil)); end
2264
2610
  end
2265
2611
 
2266
- # source://thor//lib/thor/command.rb#141
2612
+ # source://thor//lib/thor/command.rb#150
2267
2613
  Thor::DynamicTask = Thor::DynamicCommand
2268
2614
 
2269
2615
  # Thor::Error is raised when it's caused by wrong usage of thor classes. Those
@@ -2273,9 +2619,12 @@ Thor::DynamicTask = Thor::DynamicCommand
2273
2619
  # overwrites a thor keyword, SHOULD NOT raise a Thor::Error. This way, we
2274
2620
  # ensure that developer errors are shown with full backtrace.
2275
2621
  #
2276
- # source://thor//lib/thor/error.rb#31
2622
+ # source://thor//lib/thor/error.rb#20
2277
2623
  class Thor::Error < ::StandardError; end
2278
2624
 
2625
+ # source://thor//lib/thor/error.rb#101
2626
+ class Thor::ExclusiveArgumentError < ::Thor::InvocationError; end
2627
+
2279
2628
  # Thor has a special class called Thor::Group. The main difference to Thor class
2280
2629
  # is that it invokes all commands at once. It also include some methods that allows
2281
2630
  # invocations to be done at the class method, which are not available to Thor
@@ -2294,7 +2643,7 @@ class Thor::Group
2294
2643
  # Shortcut to invoke with padding and block handling. Use internally by
2295
2644
  # invoke and invoke_from_option class methods.
2296
2645
  #
2297
- # source://thor//lib/thor/group.rb#265
2646
+ # source://thor//lib/thor/group.rb#276
2298
2647
  def _invoke_for_class_method(klass, command = T.unsafe(nil), *args, &block); end
2299
2648
 
2300
2649
  class << self
@@ -2304,6 +2653,19 @@ class Thor::Group
2304
2653
  # source://thor//lib/thor/group.rb#161
2305
2654
  def class_options_help(shell, groups = T.unsafe(nil)); end
2306
2655
 
2656
+ # Checks if a specified command exists.
2657
+ #
2658
+ # ==== Parameters
2659
+ # command_name<String>:: The name of the command to check for existence.
2660
+ #
2661
+ # ==== Returns
2662
+ # Boolean:: +true+ if the command exists, +false+ otherwise.
2663
+ #
2664
+ # @return [Boolean]
2665
+ #
2666
+ # source://thor//lib/thor/group.rb#221
2667
+ def command_exists?(command_name); end
2668
+
2307
2669
  # The description for this Thor::Group. If none is provided, but a source root
2308
2670
  # exists, tries to find the USAGE one folder above it, otherwise searches
2309
2671
  # in the superclass.
@@ -2411,33 +2773,33 @@ class Thor::Group
2411
2773
  # The banner for this class. You can customize it if you are invoking the
2412
2774
  # thor class by another ways which is not the Thor::Runner.
2413
2775
  #
2414
- # source://thor//lib/thor/group.rb#238
2776
+ # source://thor//lib/thor/group.rb#249
2415
2777
  def banner; end
2416
2778
 
2417
- # source://thor//lib/thor/group.rb#248
2779
+ # source://thor//lib/thor/group.rb#259
2418
2780
  def baseclass; end
2419
2781
 
2420
- # source://thor//lib/thor/group.rb#252
2782
+ # source://thor//lib/thor/group.rb#263
2421
2783
  def create_command(meth); end
2422
2784
 
2423
- # source://thor//lib/thor/group.rb#252
2785
+ # source://thor//lib/thor/group.rb#263
2424
2786
  def create_task(meth); end
2425
2787
 
2426
2788
  # The method responsible for dispatching given the args.
2427
2789
  #
2428
2790
  # @yield [instance]
2429
2791
  #
2430
- # source://thor//lib/thor/group.rb#217
2792
+ # source://thor//lib/thor/group.rb#228
2431
2793
  def dispatch(command, given_args, given_opts, config); end
2432
2794
 
2433
2795
  # Represents the whole class as a command.
2434
2796
  #
2435
- # source://thor//lib/thor/group.rb#243
2797
+ # source://thor//lib/thor/group.rb#254
2436
2798
  def self_command; end
2437
2799
 
2438
2800
  # Represents the whole class as a command.
2439
2801
  #
2440
- # source://thor//lib/thor/group.rb#243
2802
+ # source://thor//lib/thor/group.rb#254
2441
2803
  def self_task; end
2442
2804
  end
2443
2805
  end
@@ -2449,15 +2811,15 @@ Thor::HELP_MAPPINGS = T.let(T.unsafe(nil), Array)
2449
2811
 
2450
2812
  # A command that is hidden in help messages but still invocable.
2451
2813
  #
2452
- # source://thor//lib/thor/command.rb#120
2814
+ # source://thor//lib/thor/command.rb#129
2453
2815
  class Thor::HiddenCommand < ::Thor::Command
2454
2816
  # @return [Boolean]
2455
2817
  #
2456
- # source://thor//lib/thor/command.rb#121
2818
+ # source://thor//lib/thor/command.rb#130
2457
2819
  def hidden?; end
2458
2820
  end
2459
2821
 
2460
- # source://thor//lib/thor/command.rb#125
2822
+ # source://thor//lib/thor/command.rb#134
2461
2823
  Thor::HiddenTask = Thor::HiddenCommand
2462
2824
 
2463
2825
  # source://thor//lib/thor/invocation.rb#2
@@ -2611,7 +2973,7 @@ end
2611
2973
 
2612
2974
  # Raised when a command was found, but not invoked properly.
2613
2975
  #
2614
- # source://thor//lib/thor/error.rb#73
2976
+ # source://thor//lib/thor/error.rb#62
2615
2977
  class Thor::InvocationError < ::Thor::Error; end
2616
2978
 
2617
2979
  # source://thor//lib/thor/line_editor/basic.rb#2
@@ -2724,7 +3086,7 @@ class Thor::LineEditor::Readline::PathCompletion
2724
3086
  def text; end
2725
3087
  end
2726
3088
 
2727
- # source://thor//lib/thor/error.rb#109
3089
+ # source://thor//lib/thor/error.rb#98
2728
3090
  class Thor::MalformattedArgumentError < ::Thor::InvocationError; end
2729
3091
 
2730
3092
  # source://thor//lib/thor/nested_context.rb#2
@@ -2751,12 +3113,6 @@ class Thor::NestedContext
2751
3113
  def push; end
2752
3114
  end
2753
3115
 
2754
- # source://thor//lib/thor/error.rb#8
2755
- class Thor::NoKwargSpellChecker < ::DidYouMean::SpellChecker
2756
- # source://thor//lib/thor/error.rb#9
2757
- def initialize(dictionary); end
2758
- end
2759
-
2760
3116
  # source://thor//lib/thor/parser/option.rb#2
2761
3117
  class Thor::Option < ::Thor::Argument
2762
3118
  # @return [Option] a new instance of Option
@@ -2772,10 +3128,10 @@ class Thor::Option < ::Thor::Argument
2772
3128
  # source://thor//lib/thor/parser/option.rb#99
2773
3129
  def aliases_for_usage; end
2774
3130
 
2775
- # source://thor//lib/thor/parser/option.rb#109
3131
+ # source://thor//lib/thor/parser/option.rb#118
2776
3132
  def array?; end
2777
3133
 
2778
- # source://thor//lib/thor/parser/option.rb#109
3134
+ # source://thor//lib/thor/parser/option.rb#118
2779
3135
  def boolean?; end
2780
3136
 
2781
3137
  # Returns the value of attribute group.
@@ -2783,7 +3139,7 @@ class Thor::Option < ::Thor::Argument
2783
3139
  # source://thor//lib/thor/parser/option.rb#3
2784
3140
  def group; end
2785
3141
 
2786
- # source://thor//lib/thor/parser/option.rb#109
3142
+ # source://thor//lib/thor/parser/option.rb#118
2787
3143
  def hash?; end
2788
3144
 
2789
3145
  # Returns the value of attribute hide.
@@ -2799,7 +3155,7 @@ class Thor::Option < ::Thor::Argument
2799
3155
  # source://thor//lib/thor/parser/option.rb#3
2800
3156
  def lazy_default; end
2801
3157
 
2802
- # source://thor//lib/thor/parser/option.rb#109
3158
+ # source://thor//lib/thor/parser/option.rb#118
2803
3159
  def numeric?; end
2804
3160
 
2805
3161
  # Returns the value of attribute repeatable.
@@ -2807,7 +3163,12 @@ class Thor::Option < ::Thor::Argument
2807
3163
  # source://thor//lib/thor/parser/option.rb#3
2808
3164
  def repeatable; end
2809
3165
 
2810
- # source://thor//lib/thor/parser/option.rb#109
3166
+ # @return [Boolean]
3167
+ #
3168
+ # source://thor//lib/thor/parser/option.rb#107
3169
+ def show_default?; end
3170
+
3171
+ # source://thor//lib/thor/parser/option.rb#118
2811
3172
  def string?; end
2812
3173
 
2813
3174
  # source://thor//lib/thor/parser/option.rb#75
@@ -2818,25 +3179,30 @@ class Thor::Option < ::Thor::Argument
2818
3179
 
2819
3180
  protected
2820
3181
 
2821
- # source://thor//lib/thor/parser/option.rb#159
3182
+ # source://thor//lib/thor/parser/option.rb#168
2822
3183
  def dasherize(str); end
2823
3184
 
2824
3185
  # @return [Boolean]
2825
3186
  #
2826
- # source://thor//lib/thor/parser/option.rb#151
3187
+ # source://thor//lib/thor/parser/option.rb#160
2827
3188
  def dasherized?; end
2828
3189
 
2829
- # source://thor//lib/thor/parser/option.rb#155
3190
+ # source://thor//lib/thor/parser/option.rb#164
2830
3191
  def undasherize(str); end
2831
3192
 
2832
3193
  # @raise [ArgumentError]
2833
3194
  #
2834
- # source://thor//lib/thor/parser/option.rb#117
3195
+ # source://thor//lib/thor/parser/option.rb#126
2835
3196
  def validate!; end
2836
3197
 
2837
- # source://thor//lib/thor/parser/option.rb#122
3198
+ # source://thor//lib/thor/parser/option.rb#131
2838
3199
  def validate_default_type!; end
2839
3200
 
3201
+ private
3202
+
3203
+ # source://thor//lib/thor/parser/option.rb#174
3204
+ def normalize_aliases(aliases); end
3205
+
2840
3206
  class << self
2841
3207
  # This parse quick options given as method_options. It makes several
2842
3208
  # assumptions, but you can be more specific using the option method.
@@ -2883,31 +3249,37 @@ class Thor::Options < ::Thor::Arguments
2883
3249
  # @return [Options] a new instance of Options
2884
3250
  #
2885
3251
  # source://thor//lib/thor/parser/options.rb#32
2886
- def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil)); end
3252
+ def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil), relations = T.unsafe(nil)); end
3253
+
3254
+ # source://thor//lib/thor/parser/options.rb#156
3255
+ def check_at_least_one!; end
3256
+
3257
+ # source://thor//lib/thor/parser/options.rb#144
3258
+ def check_exclusive!; end
2887
3259
 
2888
3260
  # @raise [UnknownArgumentError]
2889
3261
  #
2890
- # source://thor//lib/thor/parser/options.rb#141
3262
+ # source://thor//lib/thor/parser/options.rb#168
2891
3263
  def check_unknown!; end
2892
3264
 
2893
- # source://thor//lib/thor/parser/options.rb#88
3265
+ # source://thor//lib/thor/parser/options.rb#89
2894
3266
  def parse(args); end
2895
3267
 
2896
- # source://thor//lib/thor/parser/options.rb#64
3268
+ # source://thor//lib/thor/parser/options.rb#65
2897
3269
  def peek; end
2898
3270
 
2899
- # source://thor//lib/thor/parser/options.rb#60
3271
+ # source://thor//lib/thor/parser/options.rb#61
2900
3272
  def remaining; end
2901
3273
 
2902
- # source://thor//lib/thor/parser/options.rb#78
3274
+ # source://thor//lib/thor/parser/options.rb#79
2903
3275
  def shift; end
2904
3276
 
2905
- # source://thor//lib/thor/parser/options.rb#83
3277
+ # source://thor//lib/thor/parser/options.rb#84
2906
3278
  def unshift(arg, is_value: T.unsafe(nil)); end
2907
3279
 
2908
3280
  protected
2909
3281
 
2910
- # source://thor//lib/thor/parser/options.rb#151
3282
+ # source://thor//lib/thor/parser/options.rb#189
2911
3283
  def assign_result!(option, result); end
2912
3284
 
2913
3285
  # Check if the current value in peek is a registered switch.
@@ -2917,45 +3289,51 @@ class Thor::Options < ::Thor::Arguments
2917
3289
  #
2918
3290
  # @return [Boolean]
2919
3291
  #
2920
- # source://thor//lib/thor/parser/options.rb#165
3292
+ # source://thor//lib/thor/parser/options.rb#203
2921
3293
  def current_is_switch?; end
2922
3294
 
2923
3295
  # @return [Boolean]
2924
3296
  #
2925
- # source://thor//lib/thor/parser/options.rb#177
3297
+ # source://thor//lib/thor/parser/options.rb#215
2926
3298
  def current_is_switch_formatted?; end
2927
3299
 
2928
3300
  # @return [Boolean]
2929
3301
  #
2930
- # source://thor//lib/thor/parser/options.rb#187
3302
+ # source://thor//lib/thor/parser/options.rb#225
2931
3303
  def current_is_value?; end
2932
3304
 
3305
+ # Option names changes to swith name or human name
3306
+ #
3307
+ # source://thor//lib/thor/parser/options.rb#179
3308
+ def names_to_switch_names(names = T.unsafe(nil)); end
3309
+
2933
3310
  # Check if the given argument is actually a shortcut.
2934
3311
  #
2935
- # source://thor//lib/thor/parser/options.rb#206
3312
+ # source://thor//lib/thor/parser/options.rb#244
2936
3313
  def normalize_switch(arg); end
2937
3314
 
2938
- # Parse boolean values which can be given as --foo=true, --foo or --no-foo.
3315
+ # Parse boolean values which can be given as --foo=true or --foo for true values, or
3316
+ # --foo=false, --no-foo or --skip-foo for false values.
2939
3317
  #
2940
- # source://thor//lib/thor/parser/options.rb#217
3318
+ # source://thor//lib/thor/parser/options.rb#256
2941
3319
  def parse_boolean(switch); end
2942
3320
 
2943
3321
  # Parse the value at the peek analyzing if it requires an input or not.
2944
3322
  #
2945
- # source://thor//lib/thor/parser/options.rb#235
3323
+ # source://thor//lib/thor/parser/options.rb#274
2946
3324
  def parse_peek(switch, option); end
2947
3325
 
2948
3326
  # @return [Boolean]
2949
3327
  #
2950
- # source://thor//lib/thor/parser/options.rb#210
3328
+ # source://thor//lib/thor/parser/options.rb#248
2951
3329
  def parsing_options?; end
2952
3330
 
2953
3331
  # @return [Boolean]
2954
3332
  #
2955
- # source://thor//lib/thor/parser/options.rb#192
3333
+ # source://thor//lib/thor/parser/options.rb#230
2956
3334
  def switch?(arg); end
2957
3335
 
2958
- # source://thor//lib/thor/parser/options.rb#196
3336
+ # source://thor//lib/thor/parser/options.rb#234
2959
3337
  def switch_option(arg); end
2960
3338
 
2961
3339
  class << self
@@ -3019,7 +3397,7 @@ module Thor::RakeCompat
3019
3397
  end
3020
3398
  end
3021
3399
 
3022
- # source://thor//lib/thor/error.rb#106
3400
+ # source://thor//lib/thor/error.rb#95
3023
3401
  class Thor::RequiredArgumentMissingError < ::Thor::InvocationError; end
3024
3402
 
3025
3403
  # source://thor//lib/thor/util.rb#4
@@ -3108,13 +3486,13 @@ module Thor::Shell
3108
3486
  def _shared_configuration; end
3109
3487
  end
3110
3488
 
3111
- # source://thor//lib/thor/shell/basic.rb#3
3489
+ # source://thor//lib/thor/shell/basic.rb#7
3112
3490
  class Thor::Shell::Basic
3113
3491
  # Initialize base, mute and padding to nil.
3114
3492
  #
3115
3493
  # @return [Basic] a new instance of Basic
3116
3494
  #
3117
- # source://thor//lib/thor/shell/basic.rb#11
3495
+ # source://thor//lib/thor/shell/basic.rb#13
3118
3496
  def initialize; end
3119
3497
 
3120
3498
  # Asks something to the user and receives a response.
@@ -3137,29 +3515,29 @@ class Thor::Shell::Basic
3137
3515
  # Readline.
3138
3516
  #
3139
3517
  # ==== Example
3140
- # ask("What is your name?")
3518
+ # ask("What is your name?")
3141
3519
  #
3142
- # ask("What is the planet furthest from the sun?", :default => "Pluto")
3520
+ # ask("What is the planet furthest from the sun?", :default => "Neptune")
3143
3521
  #
3144
- # ask("What is your favorite Neopolitan flavor?", :limited_to => ["strawberry", "chocolate", "vanilla"])
3522
+ # ask("What is your favorite Neopolitan flavor?", :limited_to => ["strawberry", "chocolate", "vanilla"])
3145
3523
  #
3146
- # ask("What is your password?", :echo => false)
3524
+ # ask("What is your password?", :echo => false)
3147
3525
  #
3148
- # ask("Where should the file be saved?", :path => true)
3526
+ # ask("Where should the file be saved?", :path => true)
3149
3527
  #
3150
- # source://thor//lib/thor/shell/basic.rb#78
3528
+ # source://thor//lib/thor/shell/basic.rb#80
3151
3529
  def ask(statement, *args); end
3152
3530
 
3153
3531
  # Returns the value of attribute base.
3154
3532
  #
3155
- # source://thor//lib/thor/shell/basic.rb#6
3533
+ # source://thor//lib/thor/shell/basic.rb#8
3156
3534
  def base; end
3157
3535
 
3158
3536
  # Sets the attribute base
3159
3537
  #
3160
3538
  # @param value the value to set the attribute base to.
3161
3539
  #
3162
- # source://thor//lib/thor/shell/basic.rb#6
3540
+ # source://thor//lib/thor/shell/basic.rb#8
3163
3541
  def base=(_arg0); end
3164
3542
 
3165
3543
  # Called if something goes wrong during the execution. This is used by Thor
@@ -3167,7 +3545,7 @@ class Thor::Shell::Basic
3167
3545
  # wrong, you can always raise an exception. If you raise a Thor::Error, it
3168
3546
  # will be rescued and wrapped in the method below.
3169
3547
  #
3170
- # source://thor//lib/thor/shell/basic.rb#342
3548
+ # source://thor//lib/thor/shell/basic.rb#251
3171
3549
  def error(statement); end
3172
3550
 
3173
3551
  # Deals with file collision and returns true if the file should be
@@ -3178,42 +3556,42 @@ class Thor::Shell::Basic
3178
3556
  # destination<String>:: the destination file to solve conflicts
3179
3557
  # block<Proc>:: an optional block that returns the value to be used in diff and merge
3180
3558
  #
3181
- # source://thor//lib/thor/shell/basic.rb#285
3559
+ # source://thor//lib/thor/shell/basic.rb#207
3182
3560
  def file_collision(destination); end
3183
3561
 
3184
3562
  # Sets the output padding while executing a block and resets it.
3185
3563
  #
3186
- # source://thor//lib/thor/shell/basic.rb#41
3564
+ # source://thor//lib/thor/shell/basic.rb#43
3187
3565
  def indent(count = T.unsafe(nil)); end
3188
3566
 
3189
3567
  # Mute everything that's inside given block
3190
3568
  #
3191
- # source://thor//lib/thor/shell/basic.rb#20
3569
+ # source://thor//lib/thor/shell/basic.rb#22
3192
3570
  def mute; end
3193
3571
 
3194
3572
  # Check if base is muted
3195
3573
  #
3196
3574
  # @return [Boolean]
3197
3575
  #
3198
- # source://thor//lib/thor/shell/basic.rb#29
3576
+ # source://thor//lib/thor/shell/basic.rb#31
3199
3577
  def mute?; end
3200
3578
 
3201
- # Make a question the to user and returns true if the user replies "n" or
3579
+ # Asks the user a question and returns true if the user replies "n" or
3202
3580
  # "no".
3203
3581
  #
3204
3582
  # @return [Boolean]
3205
3583
  #
3206
- # source://thor//lib/thor/shell/basic.rb#154
3584
+ # source://thor//lib/thor/shell/basic.rb#156
3207
3585
  def no?(statement, color = T.unsafe(nil)); end
3208
3586
 
3209
3587
  # Returns the value of attribute padding.
3210
3588
  #
3211
- # source://thor//lib/thor/shell/basic.rb#7
3589
+ # source://thor//lib/thor/shell/basic.rb#9
3212
3590
  def padding; end
3213
3591
 
3214
3592
  # Sets the output padding, not allowing less than zero values.
3215
3593
  #
3216
- # source://thor//lib/thor/shell/basic.rb#35
3594
+ # source://thor//lib/thor/shell/basic.rb#37
3217
3595
  def padding=(value); end
3218
3596
 
3219
3597
  # Prints values in columns
@@ -3221,7 +3599,7 @@ class Thor::Shell::Basic
3221
3599
  # ==== Parameters
3222
3600
  # Array[String, String, ...]
3223
3601
  #
3224
- # source://thor//lib/thor/shell/basic.rb#163
3602
+ # source://thor//lib/thor/shell/basic.rb#165
3225
3603
  def print_in_columns(array); end
3226
3604
 
3227
3605
  # Prints a table.
@@ -3232,8 +3610,9 @@ class Thor::Shell::Basic
3232
3610
  # ==== Options
3233
3611
  # indent<Integer>:: Indent the first column by indent value.
3234
3612
  # colwidth<Integer>:: Force the first column to colwidth spaces wide.
3613
+ # borders<Boolean>:: Adds ascii borders.
3235
3614
  #
3236
- # source://thor//lib/thor/shell/basic.rb#185
3615
+ # source://thor//lib/thor/shell/basic.rb#180
3237
3616
  def print_table(array, options = T.unsafe(nil)); end
3238
3617
 
3239
3618
  # Prints a long string, word-wrapping the text to the current width of the
@@ -3245,7 +3624,7 @@ class Thor::Shell::Basic
3245
3624
  # ==== Options
3246
3625
  # indent<Integer>:: Indent each line of the printed paragraph by indent value.
3247
3626
  #
3248
- # source://thor//lib/thor/shell/basic.rb#247
3627
+ # source://thor//lib/thor/shell/basic.rb#194
3249
3628
  def print_wrapped(message, options = T.unsafe(nil)); end
3250
3629
 
3251
3630
  # Say (print) something to the user. If the sentence ends with a whitespace
@@ -3253,9 +3632,9 @@ class Thor::Shell::Basic
3253
3632
  # are passed straight to puts (behavior got from Highline).
3254
3633
  #
3255
3634
  # ==== Example
3256
- # say("I know you knew that.")
3635
+ # say("I know you knew that.")
3257
3636
  #
3258
- # source://thor//lib/thor/shell/basic.rb#96
3637
+ # source://thor//lib/thor/shell/basic.rb#98
3259
3638
  def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
3260
3639
 
3261
3640
  # Say (print) an error to the user. If the sentence ends with a whitespace
@@ -3263,9 +3642,9 @@ class Thor::Shell::Basic
3263
3642
  # are passed straight to puts (behavior got from Highline).
3264
3643
  #
3265
3644
  # ==== Example
3266
- # say_error("error: something went wrong")
3645
+ # say_error("error: something went wrong")
3267
3646
  #
3268
- # source://thor//lib/thor/shell/basic.rb#113
3647
+ # source://thor//lib/thor/shell/basic.rb#115
3269
3648
  def say_error(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
3270
3649
 
3271
3650
  # Say a status with the given color and appends the message. Since this
@@ -3273,110 +3652,89 @@ class Thor::Shell::Basic
3273
3652
  # in log_status, avoiding the message from being shown. If a Symbol is
3274
3653
  # given in log_status, it's used as the color.
3275
3654
  #
3276
- # source://thor//lib/thor/shell/basic.rb#128
3655
+ # source://thor//lib/thor/shell/basic.rb#130
3277
3656
  def say_status(status, message, log_status = T.unsafe(nil)); end
3278
3657
 
3279
3658
  # Apply color to the given string with optional bold. Disabled in the
3280
3659
  # Thor::Shell::Basic class.
3281
3660
  #
3282
- # source://thor//lib/thor/shell/basic.rb#349
3661
+ # source://thor//lib/thor/shell/basic.rb#258
3283
3662
  def set_color(string, *_arg1); end
3284
3663
 
3285
- # source://thor//lib/thor/shell/basic.rb#326
3286
- def terminal_width; end
3287
-
3288
- # Make a question the to user and returns true if the user replies "y" or
3664
+ # Asks the user a question and returns true if the user replies "y" or
3289
3665
  # "yes".
3290
3666
  #
3291
3667
  # @return [Boolean]
3292
3668
  #
3293
- # source://thor//lib/thor/shell/basic.rb#147
3669
+ # source://thor//lib/thor/shell/basic.rb#149
3294
3670
  def yes?(statement, color = T.unsafe(nil)); end
3295
3671
 
3296
3672
  protected
3297
3673
 
3298
- # source://thor//lib/thor/shell/basic.rb#486
3674
+ # source://thor//lib/thor/shell/basic.rb#362
3299
3675
  def answer_match(possibilities, answer, case_insensitive); end
3300
3676
 
3301
- # source://thor//lib/thor/shell/basic.rb#443
3302
- def as_unicode; end
3303
-
3304
- # source://thor//lib/thor/shell/basic.rb#473
3677
+ # source://thor//lib/thor/shell/basic.rb#349
3305
3678
  def ask_filtered(statement, color, options); end
3306
3679
 
3307
- # source://thor//lib/thor/shell/basic.rb#456
3680
+ # source://thor//lib/thor/shell/basic.rb#332
3308
3681
  def ask_simply(statement, color, options); end
3309
3682
 
3310
3683
  # @return [Boolean]
3311
3684
  #
3312
- # source://thor//lib/thor/shell/basic.rb#360
3685
+ # source://thor//lib/thor/shell/basic.rb#269
3313
3686
  def can_display_colors?; end
3314
3687
 
3315
- # Calculate the dynamic width of the terminal
3316
- #
3317
- # source://thor//lib/thor/shell/basic.rb#415
3318
- def dynamic_width; end
3319
-
3320
- # source://thor//lib/thor/shell/basic.rb#419
3321
- def dynamic_width_stty; end
3688
+ # source://thor//lib/thor/shell/basic.rb#296
3689
+ def file_collision_help(block_given); end
3322
3690
 
3323
- # source://thor//lib/thor/shell/basic.rb#423
3324
- def dynamic_width_tput; end
3325
-
3326
- # source://thor//lib/thor/shell/basic.rb#387
3327
- def file_collision_help; end
3328
-
3329
- # source://thor//lib/thor/shell/basic.rb#507
3691
+ # source://thor//lib/thor/shell/basic.rb#383
3330
3692
  def git_merge_tool; end
3331
3693
 
3332
3694
  # @return [Boolean]
3333
3695
  #
3334
- # source://thor//lib/thor/shell/basic.rb#377
3696
+ # source://thor//lib/thor/shell/basic.rb#286
3335
3697
  def is?(value); end
3336
3698
 
3337
- # source://thor//lib/thor/shell/basic.rb#364
3699
+ # source://thor//lib/thor/shell/basic.rb#273
3338
3700
  def lookup_color(color); end
3339
3701
 
3340
- # source://thor//lib/thor/shell/basic.rb#494
3702
+ # source://thor//lib/thor/shell/basic.rb#370
3341
3703
  def merge(destination, content); end
3342
3704
 
3343
- # source://thor//lib/thor/shell/basic.rb#503
3705
+ # source://thor//lib/thor/shell/basic.rb#379
3344
3706
  def merge_tool; end
3345
3707
 
3346
- # source://thor//lib/thor/shell/basic.rb#355
3708
+ # source://thor//lib/thor/shell/basic.rb#264
3347
3709
  def prepare_message(message, *color); end
3348
3710
 
3349
3711
  # @return [Boolean]
3350
3712
  #
3351
- # source://thor//lib/thor/shell/basic.rb#410
3713
+ # source://thor//lib/thor/shell/basic.rb#324
3352
3714
  def quiet?; end
3353
3715
 
3354
- # source://thor//lib/thor/shell/basic.rb#399
3716
+ # source://thor//lib/thor/shell/basic.rb#313
3355
3717
  def show_diff(destination, content); end
3356
3718
 
3357
- # source://thor//lib/thor/shell/basic.rb#373
3719
+ # source://thor//lib/thor/shell/basic.rb#282
3358
3720
  def stderr; end
3359
3721
 
3360
- # source://thor//lib/thor/shell/basic.rb#369
3722
+ # source://thor//lib/thor/shell/basic.rb#278
3361
3723
  def stdout; end
3362
3724
 
3363
- # source://thor//lib/thor/shell/basic.rb#431
3364
- def truncate(string, width); end
3365
-
3366
3725
  # @return [Boolean]
3367
3726
  #
3368
- # source://thor//lib/thor/shell/basic.rb#427
3727
+ # source://thor//lib/thor/shell/basic.rb#328
3369
3728
  def unix?; end
3370
3729
  end
3371
3730
 
3372
- # source://thor//lib/thor/shell/basic.rb#4
3373
- Thor::Shell::Basic::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
3374
-
3375
3731
  # Inherit from Thor::Shell::Basic and add set_color behavior. Check
3376
3732
  # Thor::Shell::Basic to see all available methods.
3377
3733
  #
3378
- # source://thor//lib/thor/shell/color.rb#8
3734
+ # source://thor//lib/thor/shell/color.rb#9
3379
3735
  class Thor::Shell::Color < ::Thor::Shell::Basic
3736
+ include ::LCSDiff
3737
+
3380
3738
  # Set color by using a string or one of the defined constants. If a third
3381
3739
  # option is set to true, it also adds bold to the string. This is based
3382
3740
  # on Highline implementation and it automatically appends CLEAR to the end
@@ -3409,149 +3767,155 @@ class Thor::Shell::Color < ::Thor::Shell::Basic
3409
3767
  # :on_cyan
3410
3768
  # :on_white
3411
3769
  #
3412
- # source://thor//lib/thor/shell/color.rb#79
3770
+ # source://thor//lib/thor/shell/color.rb#82
3413
3771
  def set_color(string, *colors); end
3414
3772
 
3415
3773
  protected
3416
3774
 
3417
3775
  # @return [Boolean]
3418
3776
  #
3419
- # source://thor//lib/thor/shell/color.rb#107
3777
+ # source://thor//lib/thor/shell/color.rb#110
3420
3778
  def are_colors_disabled?; end
3421
3779
 
3422
3780
  # @return [Boolean]
3423
3781
  #
3424
- # source://thor//lib/thor/shell/color.rb#103
3782
+ # source://thor//lib/thor/shell/color.rb#106
3425
3783
  def are_colors_supported?; end
3426
3784
 
3427
3785
  # @return [Boolean]
3428
3786
  #
3429
- # source://thor//lib/thor/shell/color.rb#99
3787
+ # source://thor//lib/thor/shell/color.rb#102
3430
3788
  def can_display_colors?; end
3431
-
3432
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
3433
- # for diff.
3434
- #
3435
- # @return [Boolean]
3436
- #
3437
- # source://thor//lib/thor/shell/color.rb#144
3438
- def diff_lcs_loaded?; end
3439
-
3440
- # source://thor//lib/thor/shell/color.rb#127
3441
- def output_diff_line(diff); end
3442
-
3443
- # Overwrite show_diff to show diff with colors if Diff::LCS is
3444
- # available.
3445
- #
3446
- # source://thor//lib/thor/shell/color.rb#114
3447
- def show_diff(destination, content); end
3448
3789
  end
3449
3790
 
3450
3791
  # Set the terminal's foreground ANSI color to black.
3451
3792
  #
3452
- # source://thor//lib/thor/shell/color.rb#15
3793
+ # source://thor//lib/thor/shell/color.rb#18
3453
3794
  Thor::Shell::Color::BLACK = T.let(T.unsafe(nil), String)
3454
3795
 
3455
3796
  # Set the terminal's foreground ANSI color to blue.
3456
3797
  #
3457
- # source://thor//lib/thor/shell/color.rb#23
3798
+ # source://thor//lib/thor/shell/color.rb#26
3458
3799
  Thor::Shell::Color::BLUE = T.let(T.unsafe(nil), String)
3459
3800
 
3460
3801
  # The start of an ANSI bold sequence.
3461
3802
  #
3462
- # source://thor//lib/thor/shell/color.rb#12
3803
+ # source://thor//lib/thor/shell/color.rb#15
3463
3804
  Thor::Shell::Color::BOLD = T.let(T.unsafe(nil), String)
3464
3805
 
3465
3806
  # Embed in a String to clear all previous ANSI sequences.
3466
3807
  #
3467
- # source://thor//lib/thor/shell/color.rb#10
3808
+ # source://thor//lib/thor/shell/color.rb#13
3468
3809
  Thor::Shell::Color::CLEAR = T.let(T.unsafe(nil), String)
3469
3810
 
3470
3811
  # Set the terminal's foreground ANSI color to cyan.
3471
3812
  #
3472
- # source://thor//lib/thor/shell/color.rb#27
3813
+ # source://thor//lib/thor/shell/color.rb#30
3473
3814
  Thor::Shell::Color::CYAN = T.let(T.unsafe(nil), String)
3474
3815
 
3475
3816
  # Set the terminal's foreground ANSI color to green.
3476
3817
  #
3477
- # source://thor//lib/thor/shell/color.rb#19
3818
+ # source://thor//lib/thor/shell/color.rb#22
3478
3819
  Thor::Shell::Color::GREEN = T.let(T.unsafe(nil), String)
3479
3820
 
3480
3821
  # Set the terminal's foreground ANSI color to magenta.
3481
3822
  #
3482
- # source://thor//lib/thor/shell/color.rb#25
3823
+ # source://thor//lib/thor/shell/color.rb#28
3483
3824
  Thor::Shell::Color::MAGENTA = T.let(T.unsafe(nil), String)
3484
3825
 
3485
3826
  # Set the terminal's background ANSI color to black.
3486
3827
  #
3487
- # source://thor//lib/thor/shell/color.rb#32
3828
+ # source://thor//lib/thor/shell/color.rb#35
3488
3829
  Thor::Shell::Color::ON_BLACK = T.let(T.unsafe(nil), String)
3489
3830
 
3490
3831
  # Set the terminal's background ANSI color to blue.
3491
3832
  #
3492
- # source://thor//lib/thor/shell/color.rb#40
3833
+ # source://thor//lib/thor/shell/color.rb#43
3493
3834
  Thor::Shell::Color::ON_BLUE = T.let(T.unsafe(nil), String)
3494
3835
 
3495
3836
  # Set the terminal's background ANSI color to cyan.
3496
3837
  #
3497
- # source://thor//lib/thor/shell/color.rb#44
3838
+ # source://thor//lib/thor/shell/color.rb#47
3498
3839
  Thor::Shell::Color::ON_CYAN = T.let(T.unsafe(nil), String)
3499
3840
 
3500
3841
  # Set the terminal's background ANSI color to green.
3501
3842
  #
3502
- # source://thor//lib/thor/shell/color.rb#36
3843
+ # source://thor//lib/thor/shell/color.rb#39
3503
3844
  Thor::Shell::Color::ON_GREEN = T.let(T.unsafe(nil), String)
3504
3845
 
3505
3846
  # Set the terminal's background ANSI color to magenta.
3506
3847
  #
3507
- # source://thor//lib/thor/shell/color.rb#42
3848
+ # source://thor//lib/thor/shell/color.rb#45
3508
3849
  Thor::Shell::Color::ON_MAGENTA = T.let(T.unsafe(nil), String)
3509
3850
 
3510
3851
  # Set the terminal's background ANSI color to red.
3511
3852
  #
3512
- # source://thor//lib/thor/shell/color.rb#34
3853
+ # source://thor//lib/thor/shell/color.rb#37
3513
3854
  Thor::Shell::Color::ON_RED = T.let(T.unsafe(nil), String)
3514
3855
 
3515
3856
  # Set the terminal's background ANSI color to white.
3516
3857
  #
3517
- # source://thor//lib/thor/shell/color.rb#46
3858
+ # source://thor//lib/thor/shell/color.rb#49
3518
3859
  Thor::Shell::Color::ON_WHITE = T.let(T.unsafe(nil), String)
3519
3860
 
3520
3861
  # Set the terminal's background ANSI color to yellow.
3521
3862
  #
3522
- # source://thor//lib/thor/shell/color.rb#38
3863
+ # source://thor//lib/thor/shell/color.rb#41
3523
3864
  Thor::Shell::Color::ON_YELLOW = T.let(T.unsafe(nil), String)
3524
3865
 
3525
3866
  # Set the terminal's foreground ANSI color to red.
3526
3867
  #
3527
- # source://thor//lib/thor/shell/color.rb#17
3868
+ # source://thor//lib/thor/shell/color.rb#20
3528
3869
  Thor::Shell::Color::RED = T.let(T.unsafe(nil), String)
3529
3870
 
3530
3871
  # Set the terminal's foreground ANSI color to white.
3531
3872
  #
3532
- # source://thor//lib/thor/shell/color.rb#29
3873
+ # source://thor//lib/thor/shell/color.rb#32
3533
3874
  Thor::Shell::Color::WHITE = T.let(T.unsafe(nil), String)
3534
3875
 
3535
3876
  # Set the terminal's foreground ANSI color to yellow.
3536
3877
  #
3537
- # source://thor//lib/thor/shell/color.rb#21
3878
+ # source://thor//lib/thor/shell/color.rb#24
3538
3879
  Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String)
3539
3880
 
3881
+ # source://thor//lib/thor/shell/column_printer.rb#5
3882
+ class Thor::Shell::ColumnPrinter
3883
+ # @return [ColumnPrinter] a new instance of ColumnPrinter
3884
+ #
3885
+ # source://thor//lib/thor/shell/column_printer.rb#8
3886
+ def initialize(stdout, options = T.unsafe(nil)); end
3887
+
3888
+ # Returns the value of attribute options.
3889
+ #
3890
+ # source://thor//lib/thor/shell/column_printer.rb#6
3891
+ def options; end
3892
+
3893
+ # source://thor//lib/thor/shell/column_printer.rb#14
3894
+ def print(array); end
3895
+
3896
+ # Returns the value of attribute stdout.
3897
+ #
3898
+ # source://thor//lib/thor/shell/column_printer.rb#6
3899
+ def stdout; end
3900
+ end
3901
+
3540
3902
  # Inherit from Thor::Shell::Basic and add set_color behavior. Check
3541
3903
  # Thor::Shell::Basic to see all available methods.
3542
3904
  #
3543
- # source://thor//lib/thor/shell/html.rb#8
3905
+ # source://thor//lib/thor/shell/html.rb#9
3544
3906
  class Thor::Shell::HTML < ::Thor::Shell::Basic
3907
+ include ::LCSDiff
3908
+
3545
3909
  # Ask something to the user and receives a response.
3546
3910
  #
3547
3911
  # ==== Example
3548
- # ask("What is your name?")
3912
+ # ask("What is your name?")
3549
3913
  #
3550
3914
  # TODO: Implement #ask for Thor::Shell::HTML
3551
3915
  #
3552
3916
  # @raise [NotImplementedError]
3553
3917
  #
3554
- # source://thor//lib/thor/shell/html.rb#70
3918
+ # source://thor//lib/thor/shell/html.rb#73
3555
3919
  def ask(statement, color = T.unsafe(nil)); end
3556
3920
 
3557
3921
  # Set color by using a string or one of the defined constants. If a third
@@ -3559,122 +3923,171 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
3559
3923
  # on Highline implementation and it automatically appends CLEAR to the end
3560
3924
  # of the returned String.
3561
3925
  #
3562
- # source://thor//lib/thor/shell/html.rb#51
3926
+ # source://thor//lib/thor/shell/html.rb#54
3563
3927
  def set_color(string, *colors); end
3564
3928
 
3565
3929
  protected
3566
3930
 
3567
3931
  # @return [Boolean]
3568
3932
  #
3569
- # source://thor//lib/thor/shell/html.rb#76
3933
+ # source://thor//lib/thor/shell/html.rb#79
3570
3934
  def can_display_colors?; end
3571
-
3572
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
3573
- # for diff.
3574
- #
3575
- # @return [Boolean]
3576
- #
3577
- # source://thor//lib/thor/shell/html.rb#113
3578
- def diff_lcs_loaded?; end
3579
-
3580
- # source://thor//lib/thor/shell/html.rb#96
3581
- def output_diff_line(diff); end
3582
-
3583
- # Overwrite show_diff to show diff with colors if Diff::LCS is
3584
- # available.
3585
- #
3586
- # source://thor//lib/thor/shell/html.rb#83
3587
- def show_diff(destination, content); end
3588
3935
  end
3589
3936
 
3590
3937
  # Set the terminal's foreground HTML color to black.
3591
3938
  #
3592
- # source://thor//lib/thor/shell/html.rb#13
3939
+ # source://thor//lib/thor/shell/html.rb#16
3593
3940
  Thor::Shell::HTML::BLACK = T.let(T.unsafe(nil), String)
3594
3941
 
3595
3942
  # Set the terminal's foreground HTML color to blue.
3596
3943
  #
3597
- # source://thor//lib/thor/shell/html.rb#21
3944
+ # source://thor//lib/thor/shell/html.rb#24
3598
3945
  Thor::Shell::HTML::BLUE = T.let(T.unsafe(nil), String)
3599
3946
 
3600
3947
  # The start of an HTML bold sequence.
3601
3948
  #
3602
- # source://thor//lib/thor/shell/html.rb#10
3949
+ # source://thor//lib/thor/shell/html.rb#13
3603
3950
  Thor::Shell::HTML::BOLD = T.let(T.unsafe(nil), String)
3604
3951
 
3605
3952
  # Set the terminal's foreground HTML color to cyan.
3606
3953
  #
3607
- # source://thor//lib/thor/shell/html.rb#25
3954
+ # source://thor//lib/thor/shell/html.rb#28
3608
3955
  Thor::Shell::HTML::CYAN = T.let(T.unsafe(nil), String)
3609
3956
 
3610
3957
  # Set the terminal's foreground HTML color to green.
3611
3958
  #
3612
- # source://thor//lib/thor/shell/html.rb#17
3959
+ # source://thor//lib/thor/shell/html.rb#20
3613
3960
  Thor::Shell::HTML::GREEN = T.let(T.unsafe(nil), String)
3614
3961
 
3615
3962
  # Set the terminal's foreground HTML color to magenta.
3616
3963
  #
3617
- # source://thor//lib/thor/shell/html.rb#23
3964
+ # source://thor//lib/thor/shell/html.rb#26
3618
3965
  Thor::Shell::HTML::MAGENTA = T.let(T.unsafe(nil), String)
3619
3966
 
3620
3967
  # Set the terminal's background HTML color to black.
3621
3968
  #
3622
- # source://thor//lib/thor/shell/html.rb#30
3969
+ # source://thor//lib/thor/shell/html.rb#33
3623
3970
  Thor::Shell::HTML::ON_BLACK = T.let(T.unsafe(nil), String)
3624
3971
 
3625
3972
  # Set the terminal's background HTML color to blue.
3626
3973
  #
3627
- # source://thor//lib/thor/shell/html.rb#38
3974
+ # source://thor//lib/thor/shell/html.rb#41
3628
3975
  Thor::Shell::HTML::ON_BLUE = T.let(T.unsafe(nil), String)
3629
3976
 
3630
3977
  # Set the terminal's background HTML color to cyan.
3631
3978
  #
3632
- # source://thor//lib/thor/shell/html.rb#42
3979
+ # source://thor//lib/thor/shell/html.rb#45
3633
3980
  Thor::Shell::HTML::ON_CYAN = T.let(T.unsafe(nil), String)
3634
3981
 
3635
3982
  # Set the terminal's background HTML color to green.
3636
3983
  #
3637
- # source://thor//lib/thor/shell/html.rb#34
3984
+ # source://thor//lib/thor/shell/html.rb#37
3638
3985
  Thor::Shell::HTML::ON_GREEN = T.let(T.unsafe(nil), String)
3639
3986
 
3640
3987
  # Set the terminal's background HTML color to magenta.
3641
3988
  #
3642
- # source://thor//lib/thor/shell/html.rb#40
3989
+ # source://thor//lib/thor/shell/html.rb#43
3643
3990
  Thor::Shell::HTML::ON_MAGENTA = T.let(T.unsafe(nil), String)
3644
3991
 
3645
3992
  # Set the terminal's background HTML color to red.
3646
3993
  #
3647
- # source://thor//lib/thor/shell/html.rb#32
3994
+ # source://thor//lib/thor/shell/html.rb#35
3648
3995
  Thor::Shell::HTML::ON_RED = T.let(T.unsafe(nil), String)
3649
3996
 
3650
3997
  # Set the terminal's background HTML color to white.
3651
3998
  #
3652
- # source://thor//lib/thor/shell/html.rb#44
3999
+ # source://thor//lib/thor/shell/html.rb#47
3653
4000
  Thor::Shell::HTML::ON_WHITE = T.let(T.unsafe(nil), String)
3654
4001
 
3655
4002
  # Set the terminal's background HTML color to yellow.
3656
4003
  #
3657
- # source://thor//lib/thor/shell/html.rb#36
4004
+ # source://thor//lib/thor/shell/html.rb#39
3658
4005
  Thor::Shell::HTML::ON_YELLOW = T.let(T.unsafe(nil), String)
3659
4006
 
3660
4007
  # Set the terminal's foreground HTML color to red.
3661
4008
  #
3662
- # source://thor//lib/thor/shell/html.rb#15
4009
+ # source://thor//lib/thor/shell/html.rb#18
3663
4010
  Thor::Shell::HTML::RED = T.let(T.unsafe(nil), String)
3664
4011
 
3665
4012
  # Set the terminal's foreground HTML color to white.
3666
4013
  #
3667
- # source://thor//lib/thor/shell/html.rb#27
4014
+ # source://thor//lib/thor/shell/html.rb#30
3668
4015
  Thor::Shell::HTML::WHITE = T.let(T.unsafe(nil), String)
3669
4016
 
3670
4017
  # Set the terminal's foreground HTML color to yellow.
3671
4018
  #
3672
- # source://thor//lib/thor/shell/html.rb#19
4019
+ # source://thor//lib/thor/shell/html.rb#22
3673
4020
  Thor::Shell::HTML::YELLOW = T.let(T.unsafe(nil), String)
3674
4021
 
3675
4022
  # source://thor//lib/thor/shell.rb#24
3676
4023
  Thor::Shell::SHELL_DELEGATED_METHODS = T.let(T.unsafe(nil), Array)
3677
4024
 
4025
+ # source://thor//lib/thor/shell/table_printer.rb#6
4026
+ class Thor::Shell::TablePrinter < ::Thor::Shell::ColumnPrinter
4027
+ # @return [TablePrinter] a new instance of TablePrinter
4028
+ #
4029
+ # source://thor//lib/thor/shell/table_printer.rb#9
4030
+ def initialize(stdout, options = T.unsafe(nil)); end
4031
+
4032
+ # source://thor//lib/thor/shell/table_printer.rb#18
4033
+ def print(array); end
4034
+
4035
+ private
4036
+
4037
+ # source://thor//lib/thor/shell/table_printer.rb#72
4038
+ def format_cell(column, row_size, index); end
4039
+
4040
+ # source://thor//lib/thor/shell/table_printer.rb#113
4041
+ def indentation; end
4042
+
4043
+ # source://thor//lib/thor/shell/table_printer.rb#47
4044
+ def prepare(array); end
4045
+
4046
+ # source://thor//lib/thor/shell/table_printer.rb#96
4047
+ def print_border_separator; end
4048
+
4049
+ # source://thor//lib/thor/shell/table_printer.rb#103
4050
+ def truncate(string); end
4051
+ end
4052
+
4053
+ # source://thor//lib/thor/shell/table_printer.rb#7
4054
+ Thor::Shell::TablePrinter::BORDER_SEPARATOR = T.let(T.unsafe(nil), Symbol)
4055
+
4056
+ # source://thor//lib/thor/shell/terminal.rb#3
4057
+ module Thor::Shell::Terminal
4058
+ class << self
4059
+ # source://thor//lib/thor/shell/terminal.rb#9
4060
+ def terminal_width; end
4061
+
4062
+ # @return [Boolean]
4063
+ #
4064
+ # source://thor//lib/thor/shell/terminal.rb#20
4065
+ def unix?; end
4066
+
4067
+ private
4068
+
4069
+ # Calculate the dynamic width of the terminal
4070
+ #
4071
+ # source://thor//lib/thor/shell/terminal.rb#27
4072
+ def dynamic_width; end
4073
+
4074
+ # source://thor//lib/thor/shell/terminal.rb#31
4075
+ def dynamic_width_stty; end
4076
+
4077
+ # source://thor//lib/thor/shell/terminal.rb#35
4078
+ def dynamic_width_tput; end
4079
+ end
4080
+ end
4081
+
4082
+ # source://thor//lib/thor/shell/terminal.rb#4
4083
+ Thor::Shell::Terminal::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
4084
+
4085
+ # source://thor//lib/thor/shell/wrapped_printer.rb#6
4086
+ class Thor::Shell::WrappedPrinter < ::Thor::Shell::ColumnPrinter
4087
+ # source://thor//lib/thor/shell/wrapped_printer.rb#7
4088
+ def print(message); end
4089
+ end
4090
+
3678
4091
  # source://thor//lib/thor/base.rb#23
3679
4092
  Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
3680
4093
 
@@ -3683,89 +4096,89 @@ Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
3683
4096
  # source://thor//lib/thor/base.rb#20
3684
4097
  Thor::THOR_RESERVED_WORDS = T.let(T.unsafe(nil), Array)
3685
4098
 
3686
- # source://thor//lib/thor/command.rb#117
4099
+ # source://thor//lib/thor/command.rb#126
3687
4100
  Thor::Task = Thor::Command
3688
4101
 
3689
4102
  # Raised when a command was not found.
3690
4103
  #
3691
- # source://thor//lib/thor/error.rb#35
4104
+ # source://thor//lib/thor/error.rb#24
3692
4105
  class Thor::UndefinedCommandError < ::Thor::Error
3693
4106
  include ::Thor::Correctable
3694
4107
 
3695
4108
  # @return [UndefinedCommandError] a new instance of UndefinedCommandError
3696
4109
  #
3697
- # source://thor//lib/thor/error.rb#54
4110
+ # source://thor//lib/thor/error.rb#43
3698
4111
  def initialize(command, all_commands, namespace); end
3699
4112
 
3700
4113
  # Returns the value of attribute all_commands.
3701
4114
  #
3702
- # source://thor//lib/thor/error.rb#52
4115
+ # source://thor//lib/thor/error.rb#41
3703
4116
  def all_commands; end
3704
4117
 
3705
4118
  # Returns the value of attribute command.
3706
4119
  #
3707
- # source://thor//lib/thor/error.rb#52
4120
+ # source://thor//lib/thor/error.rb#41
3708
4121
  def command; end
3709
4122
  end
3710
4123
 
3711
- # source://thor//lib/thor/error.rb#36
4124
+ # source://thor//lib/thor/error.rb#25
3712
4125
  class Thor::UndefinedCommandError::SpellChecker
3713
4126
  # @return [SpellChecker] a new instance of SpellChecker
3714
4127
  #
3715
- # source://thor//lib/thor/error.rb#39
4128
+ # source://thor//lib/thor/error.rb#28
3716
4129
  def initialize(error); end
3717
4130
 
3718
- # source://thor//lib/thor/error.rb#43
4131
+ # source://thor//lib/thor/error.rb#32
3719
4132
  def corrections; end
3720
4133
 
3721
4134
  # Returns the value of attribute error.
3722
4135
  #
3723
- # source://thor//lib/thor/error.rb#37
4136
+ # source://thor//lib/thor/error.rb#26
3724
4137
  def error; end
3725
4138
 
3726
- # source://thor//lib/thor/error.rb#47
4139
+ # source://thor//lib/thor/error.rb#36
3727
4140
  def spell_checker; end
3728
4141
  end
3729
4142
 
3730
- # source://thor//lib/thor/error.rb#66
4143
+ # source://thor//lib/thor/error.rb#55
3731
4144
  Thor::UndefinedTaskError = Thor::UndefinedCommandError
3732
4145
 
3733
- # source://thor//lib/thor/error.rb#76
4146
+ # source://thor//lib/thor/error.rb#65
3734
4147
  class Thor::UnknownArgumentError < ::Thor::Error
3735
4148
  include ::Thor::Correctable
3736
4149
 
3737
4150
  # @return [UnknownArgumentError] a new instance of UnknownArgumentError
3738
4151
  #
3739
- # source://thor//lib/thor/error.rb#96
4152
+ # source://thor//lib/thor/error.rb#85
3740
4153
  def initialize(switches, unknown); end
3741
4154
 
3742
4155
  # Returns the value of attribute switches.
3743
4156
  #
3744
- # source://thor//lib/thor/error.rb#94
4157
+ # source://thor//lib/thor/error.rb#83
3745
4158
  def switches; end
3746
4159
 
3747
4160
  # Returns the value of attribute unknown.
3748
4161
  #
3749
- # source://thor//lib/thor/error.rb#94
4162
+ # source://thor//lib/thor/error.rb#83
3750
4163
  def unknown; end
3751
4164
  end
3752
4165
 
3753
- # source://thor//lib/thor/error.rb#77
4166
+ # source://thor//lib/thor/error.rb#66
3754
4167
  class Thor::UnknownArgumentError::SpellChecker
3755
4168
  # @return [SpellChecker] a new instance of SpellChecker
3756
4169
  #
3757
- # source://thor//lib/thor/error.rb#80
4170
+ # source://thor//lib/thor/error.rb#69
3758
4171
  def initialize(error); end
3759
4172
 
3760
- # source://thor//lib/thor/error.rb#84
4173
+ # source://thor//lib/thor/error.rb#73
3761
4174
  def corrections; end
3762
4175
 
3763
4176
  # Returns the value of attribute error.
3764
4177
  #
3765
- # source://thor//lib/thor/error.rb#78
4178
+ # source://thor//lib/thor/error.rb#67
3766
4179
  def error; end
3767
4180
 
3768
- # source://thor//lib/thor/error.rb#89
4181
+ # source://thor//lib/thor/error.rb#78
3769
4182
  def spell_checker; end
3770
4183
  end
3771
4184
 
@@ -3806,7 +4219,7 @@ module Thor::Util
3806
4219
  # ==== Returns
3807
4220
  # String
3808
4221
  #
3809
- # source://thor//lib/thor/util.rb#263
4222
+ # source://thor//lib/thor/util.rb#264
3810
4223
  def escape_globs(path); end
3811
4224
 
3812
4225
  # Returns a string that has had any HTML characters escaped.
@@ -3821,7 +4234,7 @@ module Thor::Util
3821
4234
  # ==== Returns
3822
4235
  # String
3823
4236
  #
3824
- # source://thor//lib/thor/util.rb#279
4237
+ # source://thor//lib/thor/util.rb#280
3825
4238
  def escape_html(string); end
3826
4239
 
3827
4240
  # Receives a namespace and search for it in the Thor::Base subclasses.
@@ -3884,13 +4297,13 @@ module Thor::Util
3884
4297
 
3885
4298
  # Where to look for Thor files.
3886
4299
  #
3887
- # source://thor//lib/thor/util.rb#212
4300
+ # source://thor//lib/thor/util.rb#213
3888
4301
  def globs_for(path); end
3889
4302
 
3890
4303
  # Receives a path and load the thor file in the path. The file is evaluated
3891
4304
  # inside the sandbox to avoid namespacing conflicts.
3892
4305
  #
3893
- # source://thor//lib/thor/util.rb#152
4306
+ # source://thor//lib/thor/util.rb#153
3894
4307
  def load_thorfile(path, content = T.unsafe(nil), debug = T.unsafe(nil)); end
3895
4308
 
3896
4309
  # Receives a constant and converts it to a Thor namespace. Since Thor
@@ -3925,7 +4338,7 @@ module Thor::Util
3925
4338
  # Return the path to the ruby interpreter taking into account multiple
3926
4339
  # installations and windows extensions.
3927
4340
  #
3928
- # source://thor//lib/thor/util.rb#220
4341
+ # source://thor//lib/thor/util.rb#221
3929
4342
  def ruby_command; end
3930
4343
 
3931
4344
  # Receives a string and convert it to snake case. SnakeCase returns snake_case.
@@ -3946,7 +4359,7 @@ module Thor::Util
3946
4359
 
3947
4360
  # Returns the root where thor files are located, depending on the OS.
3948
4361
  #
3949
- # source://thor//lib/thor/util.rb#191
4362
+ # source://thor//lib/thor/util.rb#192
3950
4363
  def thor_root; end
3951
4364
 
3952
4365
  # Returns the files in the thor root. On Windows thor_root will be something
@@ -3956,10 +4369,10 @@ module Thor::Util
3956
4369
  #
3957
4370
  # If we don't #gsub the \ character, Dir.glob will fail.
3958
4371
  #
3959
- # source://thor//lib/thor/util.rb#202
4372
+ # source://thor//lib/thor/util.rb#203
3960
4373
  def thor_root_glob; end
3961
4374
 
3962
- # source://thor//lib/thor/util.rb#167
4375
+ # source://thor//lib/thor/util.rb#168
3963
4376
  def user_home; end
3964
4377
  end
3965
4378
  end