sorbet-result 0.3.1 → 1.1.0

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