mangrove 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/README.md +1 -2
  4. data/docs/Mangrove/ControlFlow/ControlSignal.html +2 -2
  5. data/docs/Mangrove/ControlFlow.html +2 -2
  6. data/docs/Mangrove/Option/ControlSignal.html +2 -2
  7. data/docs/Mangrove/Option/None.html +46 -51
  8. data/docs/Mangrove/Option/Some.html +54 -59
  9. data/docs/Mangrove/Option.html +22 -136
  10. data/docs/Mangrove/Result/ControlSignal.html +2 -2
  11. data/docs/Mangrove/Result/Err.html +2 -2
  12. data/docs/Mangrove/Result/Ok.html +2 -2
  13. data/docs/Mangrove/Result.html +2 -2
  14. data/docs/Mangrove.html +3 -3
  15. data/docs/_index.html +8 -8
  16. data/docs/file.README.html +3 -5
  17. data/docs/index.html +3 -5
  18. data/docs/method_list.html +112 -120
  19. data/docs/top-level-namespace.html +2 -2
  20. data/lib/mangrove/option.rb +0 -14
  21. data/lib/mangrove/version.rb +1 -1
  22. data/sorbet/rbi/gems/.gitattributes +1 -0
  23. data/sorbet/rbi/gems/erubi@1.12.0.rbi +2 -1
  24. data/sorbet/rbi/gems/prism@0.15.1.rbi +8 -0
  25. data/sorbet/rbi/gems/{rbi@0.0.17.rbi → rbi@0.1.1.rbi} +202 -248
  26. data/sorbet/rbi/gems/rubocop-capybara@2.19.0.rbi +1125 -0
  27. data/sorbet/rbi/gems/rubocop-factory_bot@2.24.0.rbi +878 -0
  28. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +328 -0
  29. data/sorbet/rbi/gems/rubocop-rspec@2.24.1.rbi +7991 -0
  30. data/sorbet/rbi/gems/{spoom@1.2.3.rbi → spoom@1.2.4.rbi} +634 -60
  31. data/sorbet/rbi/gems/{syntax_tree@6.1.1.rbi → syntax_tree@6.2.0.rbi} +2495 -2214
  32. data/sorbet/rbi/gems/{tapioca@0.11.8.rbi → tapioca@0.11.9.rbi} +503 -356
  33. data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.0.rbi} +775 -395
  34. data/sorbet/rbi/gems/unparser@0.6.9.rbi +8 -0
  35. data/sorbet/rbi/gems/yarp@0.13.0.rbi +21646 -0
  36. metadata +21 -14
  37. data/sorbet/rbi/gems/unparser@0.6.8.rbi +0 -4525
  38. /data/sorbet/rbi/gems/{parser@3.2.2.3.rbi → parser@3.2.2.4.rbi} +0 -0
  39. /data/sorbet/rbi/gems/{regexp_parser@2.8.1.rbi → regexp_parser@2.8.2.rbi} +0 -0
  40. /data/sorbet/rbi/gems/{rubocop@1.56.0.rbi → rubocop@1.57.1.rbi} +0 -0
  41. /data/sorbet/rbi/gems/{ruby-lsp@0.8.0.rbi → ruby-lsp@0.12.0.rbi} +0 -0
  42. /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