capistrano-data_plane_api 0.4.1 → 0.5.0

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.
@@ -5,6 +5,30 @@
5
5
  # Please instead update this file by running `bin/tapioca gem thor`.
6
6
 
7
7
 
8
+ # source://thor//lib/thor/shell/lcs_diff.rb#1
9
+ module LCSDiff
10
+ protected
11
+
12
+ # Overwrite show_diff to show diff with colors if Diff::LCS is
13
+ # available.
14
+ #
15
+ # source://thor//lib/thor/shell/lcs_diff.rb#6
16
+ def show_diff(destination, content); end
17
+
18
+ private
19
+
20
+ # Check if Diff::LCS is loaded. If it is, use it to create pretty output
21
+ # for diff.
22
+ #
23
+ # @return [Boolean]
24
+ #
25
+ # source://thor//lib/thor/shell/lcs_diff.rb#37
26
+ def diff_lcs_loaded?; end
27
+
28
+ # source://thor//lib/thor/shell/lcs_diff.rb#21
29
+ def output_diff_line(diff); end
30
+ end
31
+
8
32
  # source://thor//lib/thor/command.rb#1
9
33
  class Thor
10
34
  include ::Thor::Base
@@ -13,32 +37,93 @@ class Thor
13
37
  extend ::Thor::Base::ClassMethods
14
38
  extend ::Thor::Invocation::ClassMethods
15
39
 
16
- # source://thor//lib/thor.rb#505
40
+ # source://thor//lib/thor.rb#663
17
41
  def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
18
42
 
43
+ # source://thor//lib/thor.rb#678
44
+ def tree; end
45
+
46
+ private
47
+
48
+ # source://thor//lib/thor.rb#684
49
+ def build_command_tree(klass, indent); end
50
+
19
51
  class << self
52
+ # Adds and declares option group for required at least one of options in the
53
+ # block of arguments. You can declare options as the outside of the block.
54
+ #
55
+ # If :for is given as option, it allows you to change the options from
56
+ # a previous defined command.
57
+ #
58
+ # ==== Parameters
59
+ # Array[Thor::Option.name]
60
+ # options<Hash>:: :for is applied for previous defined command.
61
+ #
62
+ # ==== Examples
63
+ #
64
+ # at_least_one do
65
+ # option :one
66
+ # option :two
67
+ # end
68
+ #
69
+ # Or
70
+ #
71
+ # option :one
72
+ # option :two
73
+ # at_least_one :one, :two
74
+ #
75
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
76
+ # will be raised.
77
+ #
78
+ # You can use at_least_one and exclusive at the same time.
79
+ #
80
+ # exclusive do
81
+ # at_least_one do
82
+ # option :one
83
+ # option :two
84
+ # end
85
+ # end
86
+ #
87
+ # Then it is required either only one of "--one" or "--two".
88
+ #
89
+ # source://thor//lib/thor.rb#250
90
+ def at_least_one(*args, &block); end
91
+
20
92
  # Extend check unknown options to accept a hash of conditions.
21
93
  #
22
94
  # === Parameters
23
95
  # options<Hash>: A hash containing :only and/or :except keys
24
96
  #
25
- # source://thor//lib/thor.rb#255
97
+ # source://thor//lib/thor.rb#350
26
98
  def check_unknown_options!(options = T.unsafe(nil)); end
27
99
 
28
100
  # Overwrite check_unknown_options? to take subcommands and options into account.
29
101
  #
30
102
  # @return [Boolean]
31
103
  #
32
- # source://thor//lib/thor.rb#268
104
+ # source://thor//lib/thor.rb#363
33
105
  def check_unknown_options?(config); end
34
106
 
107
+ # Checks if a specified command exists.
108
+ #
109
+ # ==== Parameters
110
+ # command_name<String>:: The name of the command to check for existence.
111
+ #
112
+ # ==== Returns
113
+ # Boolean:: +true+ if the command exists, +false+ otherwise.
114
+ #
115
+ # @return [Boolean]
116
+ #
117
+ # source://thor//lib/thor.rb#449
118
+ def command_exists?(command_name); end
119
+
35
120
  # Prints help information for the given command.
36
121
  #
37
122
  # ==== Parameters
38
123
  # shell<Thor::Shell>
39
124
  # command_name<String>
40
125
  #
41
- # source://thor//lib/thor.rb#172
126
+ # source://thor//lib/thor.rb#258
42
127
  def command_help(shell, command_name); end
43
128
 
44
129
  # Sets the default command when thor is executed without an explicit command to be called.
@@ -54,10 +139,10 @@ class Thor
54
139
  # ==== Parameters
55
140
  # meth<Symbol>:: name of the default command
56
141
  #
57
- # source://thor//lib/thor.rb#21
142
+ # source://thor//lib/thor.rb#28
58
143
  def default_task(meth = T.unsafe(nil)); end
59
144
 
60
- # source://thor//lib/thor/base.rb#26
145
+ # source://thor//lib/thor/base.rb#27
61
146
  def deprecation_warning(message); end
62
147
 
63
148
  # Defines the usage and the description of the next command.
@@ -77,28 +162,64 @@ class Thor
77
162
  # ==== Parameters
78
163
  # Symbol ...:: A list of commands that should be affected.
79
164
  #
80
- # source://thor//lib/thor.rb#339
165
+ # source://thor//lib/thor.rb#434
81
166
  def disable_required_check!(*command_names); end
82
167
 
83
168
  # @return [Boolean]
84
169
  #
85
- # source://thor//lib/thor.rb#343
170
+ # source://thor//lib/thor.rb#438
86
171
  def disable_required_check?(command); end
87
172
 
173
+ # Adds and declares option group for exclusive options in the
174
+ # block and arguments. You can declare options as the outside of the block.
175
+ #
176
+ # If :for is given as option, it allows you to change the options from
177
+ # a previous defined command.
178
+ #
179
+ # ==== Parameters
180
+ # Array[Thor::Option.name]
181
+ # options<Hash>:: :for is applied for previous defined command.
182
+ #
183
+ # ==== Examples
184
+ #
185
+ # exclusive do
186
+ # option :one
187
+ # option :two
188
+ # end
189
+ #
190
+ # Or
191
+ #
192
+ # option :one
193
+ # option :two
194
+ # exclusive :one, :two
195
+ #
196
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
197
+ # will be raised.
198
+ #
199
+ # source://thor//lib/thor.rb#207
200
+ def exclusive(*args, &block); end
201
+
88
202
  # Prints help information for this class.
89
203
  #
90
204
  # ==== Parameters
91
205
  # shell<Thor::Shell>
92
206
  #
93
- # source://thor//lib/thor.rb#195
207
+ # source://thor//lib/thor.rb#288
94
208
  def help(shell, subcommand = T.unsafe(nil)); end
95
209
 
96
210
  # Defines the long description of the next command.
97
211
  #
212
+ # Long description is by default indented, line-wrapped and repeated whitespace merged.
213
+ # In order to print long description verbatim, with indentation and spacing exactly
214
+ # as found in the code, use the +wrap+ option
215
+ #
216
+ # long_desc 'your very long description', wrap: false
217
+ #
98
218
  # ==== Parameters
99
219
  # long description<String>
220
+ # options<Hash>
100
221
  #
101
- # source://thor//lib/thor.rb#71
222
+ # source://thor//lib/thor.rb#78
102
223
  def long_desc(long_description, options = T.unsafe(nil)); end
103
224
 
104
225
  # Maps an input to a command. If you define:
@@ -114,9 +235,78 @@ class Thor
114
235
  # ==== Parameters
115
236
  # Hash[String|Array => Symbol]:: Maps the string or the strings in the array to the given command.
116
237
  #
117
- # source://thor//lib/thor.rb#93
238
+ # source://thor//lib/thor.rb#101
118
239
  def map(mappings = T.unsafe(nil), **kw); end
119
240
 
241
+ # Adds and declares option group for required at least one of options in the
242
+ # block of arguments. You can declare options as the outside of the block.
243
+ #
244
+ # If :for is given as option, it allows you to change the options from
245
+ # a previous defined command.
246
+ #
247
+ # ==== Parameters
248
+ # Array[Thor::Option.name]
249
+ # options<Hash>:: :for is applied for previous defined command.
250
+ #
251
+ # ==== Examples
252
+ #
253
+ # at_least_one do
254
+ # option :one
255
+ # option :two
256
+ # end
257
+ #
258
+ # Or
259
+ #
260
+ # option :one
261
+ # option :two
262
+ # at_least_one :one, :two
263
+ #
264
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
265
+ # will be raised.
266
+ #
267
+ # You can use at_least_one and exclusive at the same time.
268
+ #
269
+ # exclusive do
270
+ # at_least_one do
271
+ # option :one
272
+ # option :two
273
+ # end
274
+ # end
275
+ #
276
+ # Then it is required either only one of "--one" or "--two".
277
+ #
278
+ # source://thor//lib/thor.rb#246
279
+ def method_at_least_one(*args, &block); end
280
+
281
+ # Adds and declares option group for exclusive options in the
282
+ # block and arguments. You can declare options as the outside of the block.
283
+ #
284
+ # If :for is given as option, it allows you to change the options from
285
+ # a previous defined command.
286
+ #
287
+ # ==== Parameters
288
+ # Array[Thor::Option.name]
289
+ # options<Hash>:: :for is applied for previous defined command.
290
+ #
291
+ # ==== Examples
292
+ #
293
+ # exclusive do
294
+ # option :one
295
+ # option :two
296
+ # end
297
+ #
298
+ # Or
299
+ #
300
+ # option :one
301
+ # option :two
302
+ # exclusive :one, :two
303
+ #
304
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
305
+ # will be raised.
306
+ #
307
+ # source://thor//lib/thor.rb#203
308
+ def method_exclusive(*args, &block); end
309
+
120
310
  # Adds an option to the set of method options. If :for is given as option,
121
311
  # it allows you to change the options from a previous defined command.
122
312
  #
@@ -124,7 +314,7 @@ class Thor
124
314
  # # magic
125
315
  # end
126
316
  #
127
- # method_option :foo => :bar, :for => :previous_command
317
+ # method_option :foo, :for => :previous_command
128
318
  #
129
319
  # def next_command
130
320
  # # magic
@@ -143,7 +333,7 @@ class Thor
143
333
  # :banner - String to show on usage notes.
144
334
  # :hide - If you want to hide this option from the help.
145
335
  #
146
- # source://thor//lib/thor.rb#155
336
+ # source://thor//lib/thor.rb#163
147
337
  def method_option(name, options = T.unsafe(nil)); end
148
338
 
149
339
  # Declares the options for the next command to be declared.
@@ -153,7 +343,7 @@ class Thor
153
343
  # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
154
344
  # or :required (string). If you give a value, the type of the value is used.
155
345
  #
156
- # source://thor//lib/thor.rb#121
346
+ # source://thor//lib/thor.rb#129
157
347
  def method_options(options = T.unsafe(nil)); end
158
348
 
159
349
  # Adds an option to the set of method options. If :for is given as option,
@@ -163,7 +353,7 @@ class Thor
163
353
  # # magic
164
354
  # end
165
355
  #
166
- # method_option :foo => :bar, :for => :previous_command
356
+ # method_option :foo, :for => :previous_command
167
357
  #
168
358
  # def next_command
169
359
  # # magic
@@ -182,7 +372,7 @@ class Thor
182
372
  # :banner - String to show on usage notes.
183
373
  # :hide - If you want to hide this option from the help.
184
374
  #
185
- # source://thor//lib/thor.rb#155
375
+ # source://thor//lib/thor.rb#175
186
376
  def option(name, options = T.unsafe(nil)); end
187
377
 
188
378
  # Declares the options for the next command to be declared.
@@ -192,7 +382,7 @@ class Thor
192
382
  # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
193
383
  # or :required (string). If you give a value, the type of the value is used.
194
384
  #
195
- # source://thor//lib/thor.rb#121
385
+ # source://thor//lib/thor.rb#135
196
386
  def options(options = T.unsafe(nil)); end
197
387
 
198
388
  # Allows for custom "Command" package naming.
@@ -206,12 +396,12 @@ class Thor
206
396
 
207
397
  # Returns commands ready to be printed.
208
398
  #
209
- # source://thor//lib/thor.rb#214
399
+ # source://thor//lib/thor.rb#309
210
400
  def printable_commands(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
211
401
 
212
402
  # Returns commands ready to be printed.
213
403
  #
214
- # source://thor//lib/thor.rb#214
404
+ # source://thor//lib/thor.rb#318
215
405
  def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
216
406
 
217
407
  # Registers another Thor subclass as a command.
@@ -263,27 +453,27 @@ class Thor
263
453
  # ==== Parameters
264
454
  # Symbol ...:: A list of commands that should be affected.
265
455
  #
266
- # source://thor//lib/thor.rb#325
456
+ # source://thor//lib/thor.rb#420
267
457
  def stop_on_unknown_option!(*command_names); end
268
458
 
269
459
  # @return [Boolean]
270
460
  #
271
- # source://thor//lib/thor.rb#329
461
+ # source://thor//lib/thor.rb#424
272
462
  def stop_on_unknown_option?(command); end
273
463
 
274
- # source://thor//lib/thor.rb#234
464
+ # source://thor//lib/thor.rb#329
275
465
  def subcommand(subcommand, subcommand_class); end
276
466
 
277
- # source://thor//lib/thor.rb#230
467
+ # source://thor//lib/thor.rb#325
278
468
  def subcommand_classes; end
279
469
 
280
- # source://thor//lib/thor.rb#225
470
+ # source://thor//lib/thor.rb#320
281
471
  def subcommands; end
282
472
 
283
- # source://thor//lib/thor.rb#234
473
+ # source://thor//lib/thor.rb#344
284
474
  def subtask(subcommand, subcommand_class); end
285
475
 
286
- # source://thor//lib/thor.rb#225
476
+ # source://thor//lib/thor.rb#323
287
477
  def subtasks; end
288
478
 
289
479
  # Prints help information for the given command.
@@ -292,7 +482,7 @@ class Thor
292
482
  # shell<Thor::Shell>
293
483
  # command_name<String>
294
484
  #
295
- # source://thor//lib/thor.rb#172
485
+ # source://thor//lib/thor.rb#281
296
486
  def task_help(shell, command_name); end
297
487
 
298
488
  protected
@@ -302,50 +492,66 @@ class Thor
302
492
  # the command that is going to be invoked and a boolean which indicates if
303
493
  # the namespace should be displayed as arguments.
304
494
  #
305
- # source://thor//lib/thor.rb#400
495
+ # source://thor//lib/thor.rb#546
306
496
  def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
307
497
 
308
- # source://thor//lib/thor.rb#406
498
+ # source://thor//lib/thor.rb#552
309
499
  def baseclass; end
310
500
 
311
- # source://thor//lib/thor.rb#414
501
+ # source://thor//lib/thor.rb#560
312
502
  def create_command(meth); end
313
503
 
314
- # source://thor//lib/thor.rb#414
504
+ # source://thor//lib/thor.rb#584
315
505
  def create_task(meth); end
316
506
 
317
507
  # help command has the required check disabled by default.
318
508
  #
319
- # source://thor//lib/thor.rb#354
509
+ # source://thor//lib/thor.rb#478
320
510
  def disable_required_check; end
321
511
 
322
512
  # The method responsible for dispatching given the args.
323
513
  #
324
514
  # @yield [instance]
325
515
  #
326
- # source://thor//lib/thor.rb#359
516
+ # source://thor//lib/thor.rb#505
327
517
  def dispatch(meth, given_args, given_opts, config); end
328
518
 
329
- # source://thor//lib/thor.rb#410
519
+ # source://thor//lib/thor.rb#556
330
520
  def dynamic_command_class; end
331
521
 
332
522
  # this is the logic that takes the command name passed in by the user
333
523
  # and determines whether it is an unambiguous substrings of a command or
334
524
  # alias name.
335
525
  #
336
- # source://thor//lib/thor.rb#476
526
+ # source://thor//lib/thor.rb#626
337
527
  def find_command_possibilities(meth); end
338
528
 
339
529
  # this is the logic that takes the command name passed in by the user
340
530
  # and determines whether it is an unambiguous substrings of a command or
341
531
  # alias name.
342
532
  #
343
- # source://thor//lib/thor.rb#476
533
+ # source://thor//lib/thor.rb#639
344
534
  def find_task_possibilities(meth); end
345
535
 
346
- # source://thor//lib/thor.rb#436
536
+ # source://thor//lib/thor.rb#586
347
537
  def initialize_added; end
348
538
 
539
+ # Returns this class at least one of required options array set.
540
+ #
541
+ # ==== Returns
542
+ # Array[Array[Thor::Option.name]]
543
+ #
544
+ # source://thor//lib/thor.rb#469
545
+ def method_at_least_one_option_names; end
546
+
547
+ # Returns this class exclusive options array set.
548
+ #
549
+ # ==== Returns
550
+ # Array[Array[Thor::Option.name]]
551
+ #
552
+ # source://thor//lib/thor.rb#460
553
+ def method_exclusive_option_names; end
554
+
349
555
  # receives a (possibly nil) command name and returns a name that is in
350
556
  # the commands hash. In addition to normalizing aliases, this logic
351
557
  # will determine if a shortened command is an unambiguous substring of
@@ -356,7 +562,7 @@ class Thor
356
562
  #
357
563
  # @raise [AmbiguousTaskError]
358
564
  #
359
- # source://thor//lib/thor.rb#455
565
+ # source://thor//lib/thor.rb#605
360
566
  def normalize_command_name(meth); end
361
567
 
362
568
  # receives a (possibly nil) command name and returns a name that is in
@@ -369,26 +575,40 @@ class Thor
369
575
  #
370
576
  # @raise [AmbiguousTaskError]
371
577
  #
372
- # source://thor//lib/thor.rb#455
578
+ # source://thor//lib/thor.rb#621
373
579
  def normalize_task_name(meth); end
374
580
 
581
+ # source://thor//lib/thor.rb#493
582
+ def print_at_least_one_required_options(shell, command = T.unsafe(nil)); end
583
+
584
+ # source://thor//lib/thor.rb#482
585
+ def print_exclusive_options(shell, command = T.unsafe(nil)); end
586
+
375
587
  # Retrieve the command name from given args.
376
588
  #
377
- # source://thor//lib/thor.rb#442
589
+ # source://thor//lib/thor.rb#592
378
590
  def retrieve_command_name(args); end
379
591
 
380
592
  # Retrieve the command name from given args.
381
593
  #
382
- # source://thor//lib/thor.rb#442
594
+ # source://thor//lib/thor.rb#596
383
595
  def retrieve_task_name(args); end
384
596
 
385
- # source://thor//lib/thor.rb#349
597
+ # Sort the commands, lexicographically by default.
598
+ #
599
+ # Can be overridden in the subclass to change the display order of the
600
+ # commands.
601
+ #
602
+ # source://thor//lib/thor.rb#653
603
+ def sort_commands!(list); end
604
+
605
+ # source://thor//lib/thor.rb#473
386
606
  def stop_on_unknown_option; end
387
607
 
388
- # source://thor//lib/thor.rb#491
608
+ # source://thor//lib/thor.rb#641
389
609
  def subcommand_help(cmd); end
390
610
 
391
- # source://thor//lib/thor.rb#491
611
+ # source://thor//lib/thor.rb#647
392
612
  def subtask_help(cmd); end
393
613
  end
394
614
  end
@@ -431,7 +651,7 @@ module Thor::Actions
431
651
  #
432
652
  # create_file "config/apache.conf", "your apache config"
433
653
  #
434
- # source://thor//lib/thor/actions/create_file.rb#22
654
+ # source://thor//lib/thor/actions/create_file.rb#27
435
655
  def add_file(destination, *args, &block); end
436
656
 
437
657
  # Create a new file relative to the destination root from the given source.
@@ -446,7 +666,7 @@ module Thor::Actions
446
666
  #
447
667
  # create_link "config/apache.conf", "/etc/apache.conf"
448
668
  #
449
- # source://thor//lib/thor/actions/create_link.rb#17
669
+ # source://thor//lib/thor/actions/create_link.rb#22
450
670
  def add_link(destination, *args); end
451
671
 
452
672
  # Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -464,7 +684,7 @@ module Thor::Actions
464
684
  # 'config.gem "rspec"'
465
685
  # end
466
686
  #
467
- # source://thor//lib/thor/actions/file_manipulation.rb#195
687
+ # source://thor//lib/thor/actions/file_manipulation.rb#197
468
688
  def append_file(path, *args, &block); end
469
689
 
470
690
  # Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -482,7 +702,7 @@ module Thor::Actions
482
702
  # 'config.gem "rspec"'
483
703
  # end
484
704
  #
485
- # source://thor//lib/thor/actions/file_manipulation.rb#195
705
+ # source://thor//lib/thor/actions/file_manipulation.rb#192
486
706
  def append_to_file(path, *args, &block); end
487
707
 
488
708
  # Loads an external file and execute it in the instance binding.
@@ -523,7 +743,7 @@ module Thor::Actions
523
743
  #
524
744
  # chmod "script/server", 0755
525
745
  #
526
- # source://thor//lib/thor/actions/file_manipulation.rb#148
746
+ # source://thor//lib/thor/actions/file_manipulation.rb#145
527
747
  def chmod(path, mode, config = T.unsafe(nil)); end
528
748
 
529
749
  # Comment all lines matching a given regex. It will leave the space
@@ -539,16 +759,25 @@ module Thor::Actions
539
759
  #
540
760
  # comment_lines 'config/initializers/session_store.rb', /cookie_store/
541
761
  #
542
- # source://thor//lib/thor/actions/file_manipulation.rb#312
762
+ # source://thor//lib/thor/actions/file_manipulation.rb#333
543
763
  def comment_lines(path, flag, *args); end
544
764
 
765
+ # Copies the file from the relative source to the relative destination. If
766
+ # the destination is not given it's assumed to be equal to the source.
767
+ #
768
+ # ==== Parameters
769
+ # source<String>:: the relative path to the source root.
770
+ # destination<String>:: the relative path to the destination root.
771
+ # config<Hash>:: give :verbose => false to not log the status, and
772
+ # :mode => :preserve, to preserve the file mode from the source.
773
+ #
545
774
  # ==== Examples
546
775
  #
547
776
  # copy_file "README", "doc/README"
548
777
  #
549
778
  # copy_file "doc/README"
550
779
  #
551
- # source://thor//lib/thor/actions/file_manipulation.rb#21
780
+ # source://thor//lib/thor/actions/file_manipulation.rb#20
552
781
  def copy_file(source, *args, &block); end
553
782
 
554
783
  # Create a new file relative to the destination root with the given data,
@@ -674,17 +903,20 @@ module Thor::Actions
674
903
  # ==== Parameters
675
904
  # source<String>:: the address of the given content.
676
905
  # destination<String>:: the relative path to the destination root.
677
- # config<Hash>:: give :verbose => false to not log the status.
906
+ # config<Hash>:: give :verbose => false to not log the status, and
907
+ # :http_headers => <Hash> to add headers to an http request.
678
908
  #
679
909
  # ==== Examples
680
910
  #
681
911
  # get "http://gist.github.com/103208", "doc/README"
682
912
  #
913
+ # get "http://gist.github.com/103208", "doc/README", :http_headers => {"Content-Type" => "application/json"}
914
+ #
683
915
  # get "http://gist.github.com/103208" do |content|
684
916
  # content.split("\n").first
685
917
  # end
686
918
  #
687
- # source://thor//lib/thor/actions/file_manipulation.rb#79
919
+ # source://thor//lib/thor/actions/file_manipulation.rb#81
688
920
  def get(source, *args, &block); end
689
921
 
690
922
  # Run a regular expression replacement on a file.
@@ -694,7 +926,7 @@ module Thor::Actions
694
926
  # flag<Regexp|String>:: the regexp or string to be replaced
695
927
  # replacement<String>:: the replacement, can be also given as a block
696
928
  # config<Hash>:: give :verbose => false to not log the status, and
697
- # :force => true, to force the replacement regardles of runner behavior.
929
+ # :force => true, to force the replacement regardless of runner behavior.
698
930
  #
699
931
  # ==== Example
700
932
  #
@@ -704,9 +936,30 @@ module Thor::Actions
704
936
  # match << " no more. Use thor!"
705
937
  # end
706
938
  #
707
- # source://thor//lib/thor/actions/file_manipulation.rb#265
939
+ # source://thor//lib/thor/actions/file_manipulation.rb#291
708
940
  def gsub_file(path, flag, *args, &block); end
709
941
 
942
+ # Run a regular expression replacement on a file, raising an error if the
943
+ # contents of the file are not changed.
944
+ #
945
+ # ==== Parameters
946
+ # path<String>:: path of the file to be changed
947
+ # flag<Regexp|String>:: the regexp or string to be replaced
948
+ # replacement<String>:: the replacement, can be also given as a block
949
+ # config<Hash>:: give :verbose => false to not log the status, and
950
+ # :force => true, to force the replacement regardless of runner behavior.
951
+ #
952
+ # ==== Example
953
+ #
954
+ # gsub_file! 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1'
955
+ #
956
+ # gsub_file! 'README', /rake/, :green do |match|
957
+ # match << " no more. Use thor!"
958
+ # end
959
+ #
960
+ # source://thor//lib/thor/actions/file_manipulation.rb#263
961
+ def gsub_file!(path, flag, *args, &block); end
962
+
710
963
  # Goes to the root and execute the given block.
711
964
  #
712
965
  # source://thor//lib/thor/actions.rb#200
@@ -729,12 +982,53 @@ module Thor::Actions
729
982
  # " filter_parameter :password\n"
730
983
  # end
731
984
  #
732
- # source://thor//lib/thor/actions/file_manipulation.rb#219
985
+ # source://thor//lib/thor/actions/file_manipulation.rb#216
733
986
  def inject_into_class(path, klass, *args, &block); end
734
987
 
735
- # source://thor//lib/thor/actions/inject_into_file.rb#26
988
+ # Injects the given content into a file. Different from gsub_file, this
989
+ # method is reversible.
990
+ #
991
+ # ==== Parameters
992
+ # destination<String>:: Relative path to the destination root
993
+ # data<String>:: Data to add to the file. Can be given as a block.
994
+ # config<Hash>:: give :verbose => false to not log the status and the flag
995
+ # for injection (:after or :before) or :force => true for
996
+ # insert two or more times the same content.
997
+ #
998
+ # ==== Examples
999
+ #
1000
+ # insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
1001
+ #
1002
+ # insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
1003
+ # gems = ask "Which gems would you like to add?"
1004
+ # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n")
1005
+ # end
1006
+ #
1007
+ # source://thor//lib/thor/actions/inject_into_file.rb#64
736
1008
  def inject_into_file(destination, *args, &block); end
737
1009
 
1010
+ # Injects the given content into a file, raising an error if the contents of
1011
+ # the file are not changed. Different from gsub_file, this method is reversible.
1012
+ #
1013
+ # ==== Parameters
1014
+ # destination<String>:: Relative path to the destination root
1015
+ # data<String>:: Data to add to the file. Can be given as a block.
1016
+ # config<Hash>:: give :verbose => false to not log the status and the flag
1017
+ # for injection (:after or :before) or :force => true for
1018
+ # insert two or more times the same content.
1019
+ #
1020
+ # ==== Examples
1021
+ #
1022
+ # insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
1023
+ #
1024
+ # insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
1025
+ # gems = ask "Which gems would you like to add?"
1026
+ # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n")
1027
+ # end
1028
+ #
1029
+ # source://thor//lib/thor/actions/inject_into_file.rb#35
1030
+ def inject_into_file!(destination, *args, &block); end
1031
+
738
1032
  # Injects text right after the module definition. Since it depends on
739
1033
  # insert_into_file, it's reversible.
740
1034
  #
@@ -752,12 +1046,53 @@ module Thor::Actions
752
1046
  # " def help; 'help'; end\n"
753
1047
  # end
754
1048
  #
755
- # source://thor//lib/thor/actions/file_manipulation.rb#242
1049
+ # source://thor//lib/thor/actions/file_manipulation.rb#239
756
1050
  def inject_into_module(path, module_name, *args, &block); end
757
1051
 
758
- # source://thor//lib/thor/actions/inject_into_file.rb#26
1052
+ # Injects the given content into a file. Different from gsub_file, this
1053
+ # method is reversible.
1054
+ #
1055
+ # ==== Parameters
1056
+ # destination<String>:: Relative path to the destination root
1057
+ # data<String>:: Data to add to the file. Can be given as a block.
1058
+ # config<Hash>:: give :verbose => false to not log the status and the flag
1059
+ # for injection (:after or :before) or :force => true for
1060
+ # insert two or more times the same content.
1061
+ #
1062
+ # ==== Examples
1063
+ #
1064
+ # insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
1065
+ #
1066
+ # insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
1067
+ # gems = ask "Which gems would you like to add?"
1068
+ # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n")
1069
+ # end
1070
+ #
1071
+ # source://thor//lib/thor/actions/inject_into_file.rb#56
759
1072
  def insert_into_file(destination, *args, &block); end
760
1073
 
1074
+ # Injects the given content into a file, raising an error if the contents of
1075
+ # the file are not changed. Different from gsub_file, this method is reversible.
1076
+ #
1077
+ # ==== Parameters
1078
+ # destination<String>:: Relative path to the destination root
1079
+ # data<String>:: Data to add to the file. Can be given as a block.
1080
+ # config<Hash>:: give :verbose => false to not log the status and the flag
1081
+ # for injection (:after or :before) or :force => true for
1082
+ # insert two or more times the same content.
1083
+ #
1084
+ # ==== Examples
1085
+ #
1086
+ # insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
1087
+ #
1088
+ # insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
1089
+ # gems = ask "Which gems would you like to add?"
1090
+ # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n")
1091
+ # end
1092
+ #
1093
+ # source://thor//lib/thor/actions/inject_into_file.rb#26
1094
+ def insert_into_file!(destination, *args, &block); end
1095
+
761
1096
  # Do something in the root or on a provided subfolder. If a relative path
762
1097
  # is given it's referenced from the current root. The full path is yielded
763
1098
  # to the block you provide. The path is set back to the previous path when
@@ -786,7 +1121,7 @@ module Thor::Actions
786
1121
  #
787
1122
  # link_file "doc/README"
788
1123
  #
789
- # source://thor//lib/thor/actions/file_manipulation.rb#51
1124
+ # source://thor//lib/thor/actions/file_manipulation.rb#50
790
1125
  def link_file(source, *args); end
791
1126
 
792
1127
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -804,7 +1139,7 @@ module Thor::Actions
804
1139
  # 'config.gem "rspec"'
805
1140
  # end
806
1141
  #
807
- # source://thor//lib/thor/actions/file_manipulation.rb#173
1142
+ # source://thor//lib/thor/actions/file_manipulation.rb#175
808
1143
  def prepend_file(path, *args, &block); end
809
1144
 
810
1145
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -822,7 +1157,7 @@ module Thor::Actions
822
1157
  # 'config.gem "rspec"'
823
1158
  # end
824
1159
  #
825
- # source://thor//lib/thor/actions/file_manipulation.rb#173
1160
+ # source://thor//lib/thor/actions/file_manipulation.rb#170
826
1161
  def prepend_to_file(path, *args, &block); end
827
1162
 
828
1163
  # Returns the given path relative to the absolute root (ie, root where
@@ -842,7 +1177,7 @@ module Thor::Actions
842
1177
  # remove_file 'README'
843
1178
  # remove_file 'app/controllers/application_controller.rb'
844
1179
  #
845
- # source://thor//lib/thor/actions/file_manipulation.rb#329
1180
+ # source://thor//lib/thor/actions/file_manipulation.rb#360
846
1181
  def remove_dir(path, config = T.unsafe(nil)); end
847
1182
 
848
1183
  # Removes a file at the given location.
@@ -856,7 +1191,7 @@ module Thor::Actions
856
1191
  # remove_file 'README'
857
1192
  # remove_file 'app/controllers/application_controller.rb'
858
1193
  #
859
- # source://thor//lib/thor/actions/file_manipulation.rb#329
1194
+ # source://thor//lib/thor/actions/file_manipulation.rb#350
860
1195
  def remove_file(path, config = T.unsafe(nil)); end
861
1196
 
862
1197
  # Executes a command returning the contents of the command.
@@ -904,7 +1239,7 @@ module Thor::Actions
904
1239
  #
905
1240
  # template "doc/README"
906
1241
  #
907
- # source://thor//lib/thor/actions/file_manipulation.rb#115
1242
+ # source://thor//lib/thor/actions/file_manipulation.rb#117
908
1243
  def template(source, *args, &block); end
909
1244
 
910
1245
  # Run a thor command. A hash of options can be given and it's converted to
@@ -928,9 +1263,8 @@ module Thor::Actions
928
1263
  # source://thor//lib/thor/actions.rb#308
929
1264
  def thor(command, *args); end
930
1265
 
931
- # Uncomment all lines matching a given regex. It will leave the space
932
- # which existed before the comment hash in tact but will remove any spacing
933
- # between the comment hash and the beginning of the line.
1266
+ # Uncomment all lines matching a given regex. Preserves indentation before
1267
+ # the comment hash and removes the hash and any immediate following space.
934
1268
  #
935
1269
  # ==== Parameters
936
1270
  # path<String>:: path of the file to be changed
@@ -941,7 +1275,7 @@ module Thor::Actions
941
1275
  #
942
1276
  # uncomment_lines 'config/initializers/session_store.rb', /active_record/
943
1277
  #
944
- # source://thor//lib/thor/actions/file_manipulation.rb#293
1278
+ # source://thor//lib/thor/actions/file_manipulation.rb#314
945
1279
  def uncomment_lines(path, flag, *args); end
946
1280
 
947
1281
  protected
@@ -956,25 +1290,28 @@ module Thor::Actions
956
1290
 
957
1291
  private
958
1292
 
959
- # source://thor//lib/thor/actions/file_manipulation.rb#350
1293
+ # source://thor//lib/thor/actions/file_manipulation.rb#385
1294
+ def actually_gsub_file(path, flag, args, error_on_no_change, &block); end
1295
+
1296
+ # source://thor//lib/thor/actions/file_manipulation.rb#371
960
1297
  def capture(*args); end
961
1298
 
962
- # source://thor//lib/thor/actions/file_manipulation.rb#346
1299
+ # source://thor//lib/thor/actions/file_manipulation.rb#367
963
1300
  def concat(string); end
964
1301
 
965
1302
  # Returns the value of attribute output_buffer.
966
1303
  #
967
- # source://thor//lib/thor/actions/file_manipulation.rb#341
1304
+ # source://thor//lib/thor/actions/file_manipulation.rb#362
968
1305
  def output_buffer; end
969
1306
 
970
1307
  # Sets the attribute output_buffer
971
1308
  #
972
1309
  # @param value the value to set the attribute output_buffer to.
973
1310
  #
974
- # source://thor//lib/thor/actions/file_manipulation.rb#341
1311
+ # source://thor//lib/thor/actions/file_manipulation.rb#362
975
1312
  def output_buffer=(_arg0); end
976
1313
 
977
- # source://thor//lib/thor/actions/file_manipulation.rb#354
1314
+ # source://thor//lib/thor/actions/file_manipulation.rb#375
978
1315
  def with_output_buffer(buf = T.unsafe(nil)); end
979
1316
 
980
1317
  class << self
@@ -986,9 +1323,9 @@ end
986
1323
  # Thor::Actions#capture depends on what kind of buffer is used in ERB.
987
1324
  # Thus CapturableERB fixes ERB to use String buffer.
988
1325
  #
989
- # source://thor//lib/thor/actions/file_manipulation.rb#366
1326
+ # source://thor//lib/thor/actions/file_manipulation.rb#398
990
1327
  class Thor::Actions::CapturableERB < ::ERB
991
- # source://thor//lib/thor/actions/file_manipulation.rb#367
1328
+ # source://thor//lib/thor/actions/file_manipulation.rb#399
992
1329
  def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
993
1330
  end
994
1331
 
@@ -1044,12 +1381,12 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
1044
1381
  # source://thor//lib/thor/actions/create_file.rb#45
1045
1382
  def identical?; end
1046
1383
 
1047
- # source://thor//lib/thor/actions/create_file.rb#59
1384
+ # source://thor//lib/thor/actions/create_file.rb#60
1048
1385
  def invoke!; end
1049
1386
 
1050
1387
  # Holds the content to be added to the file.
1051
1388
  #
1052
- # source://thor//lib/thor/actions/create_file.rb#51
1389
+ # source://thor//lib/thor/actions/create_file.rb#52
1053
1390
  def render; end
1054
1391
 
1055
1392
  protected
@@ -1058,19 +1395,19 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
1058
1395
  #
1059
1396
  # @return [Boolean]
1060
1397
  #
1061
- # source://thor//lib/thor/actions/create_file.rb#99
1398
+ # source://thor//lib/thor/actions/create_file.rb#100
1062
1399
  def force_on_collision?; end
1063
1400
 
1064
1401
  # If force is true, run the action, otherwise check if it's not being
1065
1402
  # skipped. If both are false, show the file_collision menu, if the menu
1066
1403
  # returns true, force it, otherwise skip.
1067
1404
  #
1068
- # source://thor//lib/thor/actions/create_file.rb#85
1405
+ # source://thor//lib/thor/actions/create_file.rb#86
1069
1406
  def force_or_skip_or_conflict(force, skip, &block); end
1070
1407
 
1071
1408
  # Now on conflict we check if the file is identical or not.
1072
1409
  #
1073
- # source://thor//lib/thor/actions/create_file.rb#72
1410
+ # source://thor//lib/thor/actions/create_file.rb#73
1074
1411
  def on_conflict_behavior(&block); end
1075
1412
  end
1076
1413
 
@@ -1237,71 +1574,60 @@ class Thor::Actions::EmptyDirectory
1237
1574
  def say_status(status, color); end
1238
1575
  end
1239
1576
 
1240
- # source://thor//lib/thor/actions/inject_into_file.rb#36
1577
+ # source://thor//lib/thor/actions/inject_into_file.rb#66
1241
1578
  class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory
1242
1579
  # @return [InjectIntoFile] a new instance of InjectIntoFile
1243
1580
  #
1244
- # source://thor//lib/thor/actions/inject_into_file.rb#39
1581
+ # source://thor//lib/thor/actions/inject_into_file.rb#69
1245
1582
  def initialize(base, destination, data, config); end
1246
1583
 
1247
1584
  # Returns the value of attribute behavior.
1248
1585
  #
1249
- # source://thor//lib/thor/actions/inject_into_file.rb#37
1586
+ # source://thor//lib/thor/actions/inject_into_file.rb#67
1250
1587
  def behavior; end
1251
1588
 
1252
1589
  # Returns the value of attribute flag.
1253
1590
  #
1254
- # source://thor//lib/thor/actions/inject_into_file.rb#37
1591
+ # source://thor//lib/thor/actions/inject_into_file.rb#67
1255
1592
  def flag; end
1256
1593
 
1257
- # source://thor//lib/thor/actions/inject_into_file.rb#52
1594
+ # source://thor//lib/thor/actions/inject_into_file.rb#83
1258
1595
  def invoke!; end
1259
1596
 
1260
1597
  # Returns the value of attribute replacement.
1261
1598
  #
1262
- # source://thor//lib/thor/actions/inject_into_file.rb#37
1599
+ # source://thor//lib/thor/actions/inject_into_file.rb#67
1263
1600
  def replacement; end
1264
1601
 
1265
- # source://thor//lib/thor/actions/inject_into_file.rb#72
1602
+ # source://thor//lib/thor/actions/inject_into_file.rb#107
1266
1603
  def revoke!; end
1267
1604
 
1268
1605
  protected
1269
1606
 
1607
+ # source://thor//lib/thor/actions/inject_into_file.rb#143
1608
+ def content; end
1609
+
1270
1610
  # Adds the content to the file.
1271
1611
  #
1272
- # source://thor//lib/thor/actions/inject_into_file.rb#108
1612
+ # source://thor//lib/thor/actions/inject_into_file.rb#153
1273
1613
  def replace!(regexp, string, force); end
1274
1614
 
1275
- # source://thor//lib/thor/actions/inject_into_file.rb#88
1615
+ # @return [Boolean]
1616
+ #
1617
+ # source://thor//lib/thor/actions/inject_into_file.rb#147
1618
+ def replacement_present?; end
1619
+
1620
+ # source://thor//lib/thor/actions/inject_into_file.rb#123
1276
1621
  def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end
1277
1622
  end
1278
1623
 
1279
- # Injects the given content into a file. Different from gsub_file, this
1280
- # method is reversible.
1281
- #
1282
- # ==== Parameters
1283
- # destination<String>:: Relative path to the destination root
1284
- # data<String>:: Data to add to the file. Can be given as a block.
1285
- # config<Hash>:: give :verbose => false to not log the status and the flag
1286
- # for injection (:after or :before) or :force => true for
1287
- # insert two or more times the same content.
1288
- #
1289
- # ==== Examples
1290
- #
1291
- # insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
1292
- #
1293
- # insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
1294
- # gems = ask "Which gems would you like to add?"
1295
- # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n")
1296
- # end
1297
- #
1298
- # source://thor//lib/thor/actions/inject_into_file.rb#24
1624
+ # source://thor//lib/thor/actions/inject_into_file.rb#5
1299
1625
  Thor::Actions::WARNINGS = T.let(T.unsafe(nil), Hash)
1300
1626
 
1301
- # source://thor//lib/thor/error.rb#60
1627
+ # source://thor//lib/thor/error.rb#57
1302
1628
  class Thor::AmbiguousCommandError < ::Thor::Error; end
1303
1629
 
1304
- # source://thor//lib/thor/error.rb#62
1630
+ # source://thor//lib/thor/error.rb#59
1305
1631
  Thor::AmbiguousTaskError = Thor::AmbiguousCommandError
1306
1632
 
1307
1633
  # source://thor//lib/thor/parser/argument.rb#2
@@ -1332,9 +1658,12 @@ class Thor::Argument
1332
1658
  # source://thor//lib/thor/parser/argument.rb#5
1333
1659
  def enum; end
1334
1660
 
1661
+ # source://thor//lib/thor/parser/argument.rb#52
1662
+ def enum_to_s; end
1663
+
1335
1664
  # Returns the value of attribute name.
1336
1665
  #
1337
- # source://thor//lib/thor/parser/argument.rb#5
1666
+ # source://thor//lib/thor/parser/argument.rb#6
1338
1667
  def human_name; end
1339
1668
 
1340
1669
  # Returns the value of attribute name.
@@ -1342,6 +1671,9 @@ class Thor::Argument
1342
1671
  # source://thor//lib/thor/parser/argument.rb#5
1343
1672
  def name; end
1344
1673
 
1674
+ # source://thor//lib/thor/parser/argument.rb#27
1675
+ def print_default; end
1676
+
1345
1677
  # Returns the value of attribute required.
1346
1678
  #
1347
1679
  # source://thor//lib/thor/parser/argument.rb#5
@@ -1349,12 +1681,12 @@ class Thor::Argument
1349
1681
 
1350
1682
  # @return [Boolean]
1351
1683
  #
1352
- # source://thor//lib/thor/parser/argument.rb#31
1684
+ # source://thor//lib/thor/parser/argument.rb#39
1353
1685
  def required?; end
1354
1686
 
1355
1687
  # @return [Boolean]
1356
1688
  #
1357
- # source://thor//lib/thor/parser/argument.rb#35
1689
+ # source://thor//lib/thor/parser/argument.rb#43
1358
1690
  def show_default?; end
1359
1691
 
1360
1692
  # Returns the value of attribute type.
@@ -1362,22 +1694,22 @@ class Thor::Argument
1362
1694
  # source://thor//lib/thor/parser/argument.rb#5
1363
1695
  def type; end
1364
1696
 
1365
- # source://thor//lib/thor/parser/argument.rb#27
1697
+ # source://thor//lib/thor/parser/argument.rb#35
1366
1698
  def usage; end
1367
1699
 
1368
1700
  protected
1369
1701
 
1370
- # source://thor//lib/thor/parser/argument.rb#55
1702
+ # source://thor//lib/thor/parser/argument.rb#71
1371
1703
  def default_banner; end
1372
1704
 
1373
1705
  # @return [Boolean]
1374
1706
  #
1375
- # source://thor//lib/thor/parser/argument.rb#51
1707
+ # source://thor//lib/thor/parser/argument.rb#67
1376
1708
  def valid_type?(type); end
1377
1709
 
1378
1710
  # @raise [ArgumentError]
1379
1711
  #
1380
- # source://thor//lib/thor/parser/argument.rb#46
1712
+ # source://thor//lib/thor/parser/argument.rb#62
1381
1713
  def validate!; end
1382
1714
  end
1383
1715
 
@@ -1393,10 +1725,10 @@ class Thor::Arguments
1393
1725
  # source://thor//lib/thor/parser/arguments.rb#26
1394
1726
  def initialize(arguments = T.unsafe(nil)); end
1395
1727
 
1396
- # source://thor//lib/thor/parser/arguments.rb#44
1728
+ # source://thor//lib/thor/parser/arguments.rb#40
1397
1729
  def parse(args); end
1398
1730
 
1399
- # source://thor//lib/thor/parser/arguments.rb#57
1731
+ # source://thor//lib/thor/parser/arguments.rb#53
1400
1732
  def remaining; end
1401
1733
 
1402
1734
  private
@@ -1405,22 +1737,22 @@ class Thor::Arguments
1405
1737
  #
1406
1738
  # @raise [RequiredArgumentMissingError]
1407
1739
  #
1408
- # source://thor//lib/thor/parser/arguments.rb#170
1740
+ # source://thor//lib/thor/parser/arguments.rb#186
1409
1741
  def check_requirement!; end
1410
1742
 
1411
1743
  # @return [Boolean]
1412
1744
  #
1413
- # source://thor//lib/thor/parser/arguments.rb#88
1745
+ # source://thor//lib/thor/parser/arguments.rb#84
1414
1746
  def current_is_value?; end
1415
1747
 
1416
1748
  # @return [Boolean]
1417
1749
  #
1418
- # source://thor//lib/thor/parser/arguments.rb#68
1750
+ # source://thor//lib/thor/parser/arguments.rb#64
1419
1751
  def last?; end
1420
1752
 
1421
1753
  # @return [Boolean]
1422
1754
  #
1423
- # source://thor//lib/thor/parser/arguments.rb#63
1755
+ # source://thor//lib/thor/parser/arguments.rb#59
1424
1756
  def no_or_skip?(arg); end
1425
1757
 
1426
1758
  # Runs through the argument array getting all strings until no string is
@@ -1432,7 +1764,7 @@ class Thor::Arguments
1432
1764
  #
1433
1765
  # ["a", "b", "c"]
1434
1766
  #
1435
- # source://thor//lib/thor/parser/arguments.rb#122
1767
+ # source://thor//lib/thor/parser/arguments.rb#118
1436
1768
  def parse_array(name); end
1437
1769
 
1438
1770
  # Runs through the argument array getting strings that contains ":" and
@@ -1444,14 +1776,14 @@ class Thor::Arguments
1444
1776
  #
1445
1777
  # { "name" => "string", "age" => "integer" }
1446
1778
  #
1447
- # source://thor//lib/thor/parser/arguments.rb#101
1779
+ # source://thor//lib/thor/parser/arguments.rb#97
1448
1780
  def parse_hash(name); end
1449
1781
 
1450
1782
  # Check if the peek is numeric format and return a Float or Integer.
1451
1783
  # Check if the peek is included in enum if enum is provided.
1452
1784
  # Otherwise raises an error.
1453
1785
  #
1454
- # source://thor//lib/thor/parser/arguments.rb#133
1786
+ # source://thor//lib/thor/parser/arguments.rb#139
1455
1787
  def parse_numeric(name); end
1456
1788
 
1457
1789
  # Parse string:
@@ -1459,18 +1791,23 @@ class Thor::Arguments
1459
1791
  # for --no-string-arg, nil
1460
1792
  # Check if the peek is included in enum if enum is provided. Otherwise raises an error.
1461
1793
  #
1462
- # source://thor//lib/thor/parser/arguments.rb#154
1794
+ # source://thor//lib/thor/parser/arguments.rb#158
1463
1795
  def parse_string(name); end
1464
1796
 
1465
- # source://thor//lib/thor/parser/arguments.rb#72
1797
+ # source://thor//lib/thor/parser/arguments.rb#68
1466
1798
  def peek; end
1467
1799
 
1468
- # source://thor//lib/thor/parser/arguments.rb#76
1800
+ # source://thor//lib/thor/parser/arguments.rb#72
1469
1801
  def shift; end
1470
1802
 
1471
- # source://thor//lib/thor/parser/arguments.rb#80
1803
+ # source://thor//lib/thor/parser/arguments.rb#76
1472
1804
  def unshift(arg); end
1473
1805
 
1806
+ # Raises an error if the switch is an enum and the values aren't included on it.
1807
+ #
1808
+ # source://thor//lib/thor/parser/arguments.rb#172
1809
+ def validate_enum_value!(name, value, message); end
1810
+
1474
1811
  class << self
1475
1812
  # source://thor//lib/thor/parser/arguments.rb#19
1476
1813
  def parse(*args); end
@@ -1486,6 +1823,9 @@ end
1486
1823
  # source://thor//lib/thor/parser/arguments.rb#3
1487
1824
  Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp)
1488
1825
 
1826
+ # source://thor//lib/thor/error.rb#104
1827
+ class Thor::AtLeastOneRequiredArgumentError < ::Thor::InvocationError; end
1828
+
1489
1829
  # source://thor//lib/thor/shell.rb#4
1490
1830
  module Thor::Base
1491
1831
  include ::Thor::Invocation
@@ -1510,53 +1850,53 @@ module Thor::Base
1510
1850
  #
1511
1851
  # config<Hash>:: Configuration for this Thor class.
1512
1852
  #
1513
- # source://thor//lib/thor/base.rb#53
1853
+ # source://thor//lib/thor/base.rb#54
1514
1854
  def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end
1515
1855
 
1516
1856
  # Returns the value of attribute args.
1517
1857
  #
1518
- # source://thor//lib/thor/base.rb#35
1858
+ # source://thor//lib/thor/base.rb#36
1519
1859
  def args; end
1520
1860
 
1521
1861
  # Sets the attribute args
1522
1862
  #
1523
1863
  # @param value the value to set the attribute args to.
1524
1864
  #
1525
- # source://thor//lib/thor/base.rb#35
1865
+ # source://thor//lib/thor/base.rb#36
1526
1866
  def args=(_arg0); end
1527
1867
 
1528
1868
  # Returns the value of attribute options.
1529
1869
  #
1530
- # source://thor//lib/thor/base.rb#35
1870
+ # source://thor//lib/thor/base.rb#36
1531
1871
  def options; end
1532
1872
 
1533
1873
  # Sets the attribute options
1534
1874
  #
1535
1875
  # @param value the value to set the attribute options to.
1536
1876
  #
1537
- # source://thor//lib/thor/base.rb#35
1877
+ # source://thor//lib/thor/base.rb#36
1538
1878
  def options=(_arg0); end
1539
1879
 
1540
1880
  # Returns the value of attribute parent_options.
1541
1881
  #
1542
- # source://thor//lib/thor/base.rb#35
1882
+ # source://thor//lib/thor/base.rb#36
1543
1883
  def parent_options; end
1544
1884
 
1545
1885
  # Sets the attribute parent_options
1546
1886
  #
1547
1887
  # @param value the value to set the attribute parent_options to.
1548
1888
  #
1549
- # source://thor//lib/thor/base.rb#35
1889
+ # source://thor//lib/thor/base.rb#36
1550
1890
  def parent_options=(_arg0); end
1551
1891
 
1552
1892
  class << self
1553
- # source://thor//lib/thor/base.rb#100
1893
+ # source://thor//lib/thor/base.rb#117
1554
1894
  def included(base); end
1555
1895
 
1556
1896
  # Whenever a class inherits from Thor or Thor::Group, we should track the
1557
1897
  # class and the file on Thor::Base. This is the method responsible for it.
1558
1898
  #
1559
- # source://thor//lib/thor/base.rb#128
1899
+ # source://thor//lib/thor/base.rb#145
1560
1900
  def register_klass_file(klass); end
1561
1901
 
1562
1902
  # Returns the shell used in all Thor classes. If you are in a Unix platform
@@ -1577,7 +1917,7 @@ module Thor::Base
1577
1917
  # ==== Returns
1578
1918
  # Hash[path<String> => Class]
1579
1919
  #
1580
- # source://thor//lib/thor/base.rb#121
1920
+ # source://thor//lib/thor/base.rb#138
1581
1921
  def subclass_files; end
1582
1922
 
1583
1923
  # Returns the classes that inherits from Thor or Thor::Group.
@@ -1585,12 +1925,12 @@ module Thor::Base
1585
1925
  # ==== Returns
1586
1926
  # Array[Class]
1587
1927
  #
1588
- # source://thor//lib/thor/base.rb#112
1928
+ # source://thor//lib/thor/base.rb#129
1589
1929
  def subclasses; end
1590
1930
  end
1591
1931
  end
1592
1932
 
1593
- # source://thor//lib/thor/base.rb#137
1933
+ # source://thor//lib/thor/base.rb#154
1594
1934
  module Thor::Base::ClassMethods
1595
1935
  # Returns the commands for this Thor class and all subclasses.
1596
1936
  #
@@ -1598,7 +1938,7 @@ module Thor::Base::ClassMethods
1598
1938
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1599
1939
  # objects as values.
1600
1940
  #
1601
- # source://thor//lib/thor/base.rb#383
1941
+ # source://thor//lib/thor/base.rb#483
1602
1942
  def all_commands; end
1603
1943
 
1604
1944
  # Returns the commands for this Thor class and all subclasses.
@@ -1607,13 +1947,13 @@ module Thor::Base::ClassMethods
1607
1947
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1608
1948
  # objects as values.
1609
1949
  #
1610
- # source://thor//lib/thor/base.rb#383
1950
+ # source://thor//lib/thor/base.rb#487
1611
1951
  def all_tasks; end
1612
1952
 
1613
1953
  # If you want to use defaults that don't match the type of an option,
1614
1954
  # either specify `check_default_type: false` or call `allow_incompatible_default_type!`
1615
1955
  #
1616
- # source://thor//lib/thor/base.rb#173
1956
+ # source://thor//lib/thor/base.rb#190
1617
1957
  def allow_incompatible_default_type!; end
1618
1958
 
1619
1959
  # Adds an argument to the class and creates an attr_accessor for it.
@@ -1651,7 +1991,7 @@ module Thor::Base::ClassMethods
1651
1991
  # ==== Errors
1652
1992
  # ArgumentError:: Raised if you supply a required argument after a non required one.
1653
1993
  #
1654
- # source://thor//lib/thor/base.rb#245
1994
+ # source://thor//lib/thor/base.rb#262
1655
1995
  def argument(name, options = T.unsafe(nil)); end
1656
1996
 
1657
1997
  # Returns this class arguments, looking up in the ancestors chain.
@@ -1659,42 +1999,116 @@ module Thor::Base::ClassMethods
1659
1999
  # ==== Returns
1660
2000
  # Array[Thor::Argument]
1661
2001
  #
1662
- # source://thor//lib/thor/base.rb#277
2002
+ # source://thor//lib/thor/base.rb#294
1663
2003
  def arguments; end
1664
2004
 
1665
- # source://thor//lib/thor/base.rb#146
2005
+ # source://thor//lib/thor/base.rb#163
1666
2006
  def attr_accessor(*_arg0); end
1667
2007
 
1668
- # source://thor//lib/thor/base.rb#138
2008
+ # source://thor//lib/thor/base.rb#155
1669
2009
  def attr_reader(*_arg0); end
1670
2010
 
1671
- # source://thor//lib/thor/base.rb#142
2011
+ # source://thor//lib/thor/base.rb#159
1672
2012
  def attr_writer(*_arg0); end
1673
2013
 
1674
- # source://thor//lib/thor/base.rb#177
2014
+ # source://thor//lib/thor/base.rb#194
1675
2015
  def check_default_type; end
1676
2016
 
1677
2017
  # If you want to raise an error when the default value of an option does not match
1678
2018
  # the type call check_default_type!
1679
2019
  # This will be the default; for compatibility a deprecation warning is issued if necessary.
1680
2020
  #
1681
- # source://thor//lib/thor/base.rb#167
2021
+ # source://thor//lib/thor/base.rb#184
1682
2022
  def check_default_type!; end
1683
2023
 
1684
- # source://thor//lib/thor/base.rb#156
2024
+ # source://thor//lib/thor/base.rb#173
1685
2025
  def check_unknown_options; end
1686
2026
 
1687
2027
  # If you want to raise an error for unknown options, call check_unknown_options!
1688
2028
  # This is disabled by default to allow dynamic invocations.
1689
2029
  #
1690
- # source://thor//lib/thor/base.rb#152
2030
+ # source://thor//lib/thor/base.rb#169
1691
2031
  def check_unknown_options!; end
1692
2032
 
1693
2033
  # @return [Boolean]
1694
2034
  #
1695
- # source://thor//lib/thor/base.rb#160
2035
+ # source://thor//lib/thor/base.rb#177
1696
2036
  def check_unknown_options?(config); end
1697
2037
 
2038
+ # Adds and declares option group for required at least one of options in the
2039
+ # block and arguments. You can declare options as the outside of the block.
2040
+ #
2041
+ # ==== Examples
2042
+ #
2043
+ # class_at_least_one do
2044
+ # class_option :one
2045
+ # class_option :two
2046
+ # end
2047
+ #
2048
+ # Or
2049
+ #
2050
+ # class_option :one
2051
+ # class_option :two
2052
+ # class_at_least_one :one, :two
2053
+ #
2054
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
2055
+ # will be raised.
2056
+ #
2057
+ # You can use class_at_least_one and class_exclusive at the same time.
2058
+ #
2059
+ # class_exclusive do
2060
+ # class_at_least_one do
2061
+ # class_option :one
2062
+ # class_option :two
2063
+ # end
2064
+ # end
2065
+ #
2066
+ # Then it is required either only one of "--one" or "--two".
2067
+ #
2068
+ # source://thor//lib/thor/base.rb#393
2069
+ def class_at_least_one(*args, &block); end
2070
+
2071
+ # Returns this class at least one of required options array set, looking up in the ancestors chain.
2072
+ #
2073
+ # ==== Returns
2074
+ # Array[Array[Thor::Option.name]]
2075
+ #
2076
+ # source://thor//lib/thor/base.rb#412
2077
+ def class_at_least_one_option_names; end
2078
+
2079
+ # Adds and declares option group for exclusive options in the
2080
+ # block and arguments. You can declare options as the outside of the block.
2081
+ #
2082
+ # ==== Parameters
2083
+ # Array[Thor::Option.name]
2084
+ #
2085
+ # ==== Examples
2086
+ #
2087
+ # class_exclusive do
2088
+ # class_option :one
2089
+ # class_option :two
2090
+ # end
2091
+ #
2092
+ # Or
2093
+ #
2094
+ # class_option :one
2095
+ # class_option :two
2096
+ # class_exclusive :one, :two
2097
+ #
2098
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
2099
+ # will be raised.
2100
+ #
2101
+ # source://thor//lib/thor/base.rb#358
2102
+ def class_exclusive(*args, &block); end
2103
+
2104
+ # Returns this class exclusive options array set, looking up in the ancestors chain.
2105
+ #
2106
+ # ==== Returns
2107
+ # Array[Array[Thor::Option.name]]
2108
+ #
2109
+ # source://thor//lib/thor/base.rb#403
2110
+ def class_exclusive_option_names; end
2111
+
1698
2112
  # Adds an option to the set of class options
1699
2113
  #
1700
2114
  # ==== Parameters
@@ -1711,7 +2125,7 @@ module Thor::Base::ClassMethods
1711
2125
  # :banner:: -- String to show on usage notes.
1712
2126
  # :hide:: -- If you want to hide this option from the help.
1713
2127
  #
1714
- # source://thor//lib/thor/base.rb#312
2128
+ # source://thor//lib/thor/base.rb#329
1715
2129
  def class_option(name, options = T.unsafe(nil)); end
1716
2130
 
1717
2131
  # Adds a bunch of options to the set of class options.
@@ -1723,7 +2137,7 @@ module Thor::Base::ClassMethods
1723
2137
  # ==== Parameters
1724
2138
  # Hash[Symbol => Object]
1725
2139
  #
1726
- # source://thor//lib/thor/base.rb#290
2140
+ # source://thor//lib/thor/base.rb#307
1727
2141
  def class_options(options = T.unsafe(nil)); end
1728
2142
 
1729
2143
  # Returns the commands for this Thor class.
@@ -1732,7 +2146,7 @@ module Thor::Base::ClassMethods
1732
2146
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1733
2147
  # objects as values.
1734
2148
  #
1735
- # source://thor//lib/thor/base.rb#372
2149
+ # source://thor//lib/thor/base.rb#472
1736
2150
  def commands; end
1737
2151
 
1738
2152
  # If true, option set will not suspend the execution of the command when
@@ -1740,14 +2154,14 @@ module Thor::Base::ClassMethods
1740
2154
  #
1741
2155
  # @return [Boolean]
1742
2156
  #
1743
- # source://thor//lib/thor/base.rb#191
2157
+ # source://thor//lib/thor/base.rb#208
1744
2158
  def disable_required_check?(command_name); end
1745
2159
 
1746
2160
  # A flag that makes the process exit with status 1 if any error happens.
1747
2161
  #
1748
2162
  # @return [Boolean]
1749
2163
  #
1750
- # source://thor//lib/thor/base.rb#529
2164
+ # source://thor//lib/thor/base.rb#629
1751
2165
  def exit_on_failure?; end
1752
2166
 
1753
2167
  # Defines the group. This is used when thor list is invoked so you can specify
@@ -1756,22 +2170,22 @@ module Thor::Base::ClassMethods
1756
2170
  # ==== Parameters
1757
2171
  # name<String|Symbol>
1758
2172
  #
1759
- # source://thor//lib/thor/base.rb#358
2173
+ # source://thor//lib/thor/base.rb#458
1760
2174
  def group(name = T.unsafe(nil)); end
1761
2175
 
1762
2176
  # @raise [InvocationError]
1763
2177
  #
1764
- # source://thor//lib/thor/base.rb#519
2178
+ # source://thor//lib/thor/base.rb#619
1765
2179
  def handle_argument_error(command, error, args, arity); end
1766
2180
 
1767
2181
  # @raise [UndefinedCommandError]
1768
2182
  #
1769
- # source://thor//lib/thor/base.rb#514
2183
+ # source://thor//lib/thor/base.rb#614
1770
2184
  def handle_no_command_error(command, has_namespace = T.unsafe(nil)); end
1771
2185
 
1772
2186
  # @raise [UndefinedCommandError]
1773
2187
  #
1774
- # source://thor//lib/thor/base.rb#514
2188
+ # source://thor//lib/thor/base.rb#617
1775
2189
  def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end
1776
2190
 
1777
2191
  # Sets the namespace for the Thor or Thor::Group class. By default the
@@ -1796,7 +2210,7 @@ module Thor::Base::ClassMethods
1796
2210
  #
1797
2211
  # thor :my_command
1798
2212
  #
1799
- # source://thor//lib/thor/base.rb#467
2213
+ # source://thor//lib/thor/base.rb#567
1800
2214
  def namespace(name = T.unsafe(nil)); end
1801
2215
 
1802
2216
  # All methods defined inside the given block are not added as commands.
@@ -1818,15 +2232,15 @@ module Thor::Base::ClassMethods
1818
2232
  # remove_command :this_is_not_a_command
1819
2233
  # end
1820
2234
  #
1821
- # source://thor//lib/thor/base.rb#431
2235
+ # source://thor//lib/thor/base.rb#531
1822
2236
  def no_commands(&block); end
1823
2237
 
1824
2238
  # @return [Boolean]
1825
2239
  #
1826
- # source://thor//lib/thor/base.rb#441
2240
+ # source://thor//lib/thor/base.rb#541
1827
2241
  def no_commands?; end
1828
2242
 
1829
- # source://thor//lib/thor/base.rb#437
2243
+ # source://thor//lib/thor/base.rb#537
1830
2244
  def no_commands_context; end
1831
2245
 
1832
2246
  # All methods defined inside the given block are not added as commands.
@@ -1848,7 +2262,7 @@ module Thor::Base::ClassMethods
1848
2262
  # remove_command :this_is_not_a_command
1849
2263
  # end
1850
2264
  #
1851
- # source://thor//lib/thor/base.rb#431
2265
+ # source://thor//lib/thor/base.rb#535
1852
2266
  def no_tasks(&block); end
1853
2267
 
1854
2268
  # Allows to use private methods from parent in child classes as commands.
@@ -1861,7 +2275,7 @@ module Thor::Base::ClassMethods
1861
2275
  # public_command :foo
1862
2276
  # public_command :foo, :bar, :baz
1863
2277
  #
1864
- # source://thor//lib/thor/base.rb#507
2278
+ # source://thor//lib/thor/base.rb#607
1865
2279
  def public_command(*names); end
1866
2280
 
1867
2281
  # Allows to use private methods from parent in child classes as commands.
@@ -1874,7 +2288,7 @@ module Thor::Base::ClassMethods
1874
2288
  # public_command :foo
1875
2289
  # public_command :foo, :bar, :baz
1876
2290
  #
1877
- # source://thor//lib/thor/base.rb#507
2291
+ # source://thor//lib/thor/base.rb#612
1878
2292
  def public_task(*names); end
1879
2293
 
1880
2294
  # Removes a previous defined argument. If :undefine is given, undefine
@@ -1888,7 +2302,7 @@ module Thor::Base::ClassMethods
1888
2302
  # remove_argument :foo
1889
2303
  # remove_argument :foo, :bar, :baz, :undefine => true
1890
2304
  #
1891
- # source://thor//lib/thor/base.rb#327
2305
+ # source://thor//lib/thor/base.rb#427
1892
2306
  def remove_argument(*names); end
1893
2307
 
1894
2308
  # Removes a previous defined class option.
@@ -1901,7 +2315,7 @@ module Thor::Base::ClassMethods
1901
2315
  # remove_class_option :foo
1902
2316
  # remove_class_option :foo, :bar, :baz
1903
2317
  #
1904
- # source://thor//lib/thor/base.rb#346
2318
+ # source://thor//lib/thor/base.rb#446
1905
2319
  def remove_class_option(*names); end
1906
2320
 
1907
2321
  # Removes a given command from this Thor class. This is usually done if you
@@ -1916,7 +2330,7 @@ module Thor::Base::ClassMethods
1916
2330
  # options<Hash>:: You can give :undefine => true if you want commands the method
1917
2331
  # to be undefined from the class as well.
1918
2332
  #
1919
- # source://thor//lib/thor/base.rb#401
2333
+ # source://thor//lib/thor/base.rb#501
1920
2334
  def remove_command(*names); end
1921
2335
 
1922
2336
  # Removes a given command from this Thor class. This is usually done if you
@@ -1931,7 +2345,7 @@ module Thor::Base::ClassMethods
1931
2345
  # options<Hash>:: You can give :undefine => true if you want commands the method
1932
2346
  # to be undefined from the class as well.
1933
2347
  #
1934
- # source://thor//lib/thor/base.rb#401
2348
+ # source://thor//lib/thor/base.rb#510
1935
2349
  def remove_task(*names); end
1936
2350
 
1937
2351
  # Parses the command and options from the given args, instantiate the class
@@ -1942,7 +2356,7 @@ module Thor::Base::ClassMethods
1942
2356
  # script = MyScript.new(args, options, config)
1943
2357
  # script.invoke(:command, first_arg, second_arg, third_arg)
1944
2358
  #
1945
- # source://thor//lib/thor/base.rb#483
2359
+ # source://thor//lib/thor/base.rb#583
1946
2360
  def start(given_args = T.unsafe(nil), config = T.unsafe(nil)); end
1947
2361
 
1948
2362
  # If true, option parsing is suspended as soon as an unknown option or a
@@ -1951,22 +2365,22 @@ module Thor::Base::ClassMethods
1951
2365
  #
1952
2366
  # @return [Boolean]
1953
2367
  #
1954
- # source://thor//lib/thor/base.rb#185
2368
+ # source://thor//lib/thor/base.rb#202
1955
2369
  def stop_on_unknown_option?(command_name); end
1956
2370
 
1957
- # source://thor//lib/thor/base.rb#202
2371
+ # source://thor//lib/thor/base.rb#219
1958
2372
  def strict_args_position; end
1959
2373
 
1960
2374
  # If you want only strict string args (useful when cascading thor classes),
1961
2375
  # call strict_args_position! This is disabled by default to allow dynamic
1962
2376
  # invocations.
1963
2377
  #
1964
- # source://thor//lib/thor/base.rb#198
2378
+ # source://thor//lib/thor/base.rb#215
1965
2379
  def strict_args_position!; end
1966
2380
 
1967
2381
  # @return [Boolean]
1968
2382
  #
1969
- # source://thor//lib/thor/base.rb#206
2383
+ # source://thor//lib/thor/base.rb#223
1970
2384
  def strict_args_position?(config); end
1971
2385
 
1972
2386
  # Returns the commands for this Thor class.
@@ -1975,7 +2389,7 @@ module Thor::Base::ClassMethods
1975
2389
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1976
2390
  # objects as values.
1977
2391
  #
1978
- # source://thor//lib/thor/base.rb#372
2392
+ # source://thor//lib/thor/base.rb#475
1979
2393
  def tasks; end
1980
2394
 
1981
2395
  protected
@@ -1983,12 +2397,12 @@ module Thor::Base::ClassMethods
1983
2397
  # SIGNATURE: Sets the baseclass. This is where the superclass lookup
1984
2398
  # finishes.
1985
2399
  #
1986
- # source://thor//lib/thor/base.rb#679
2400
+ # source://thor//lib/thor/base.rb#778
1987
2401
  def baseclass; end
1988
2402
 
1989
2403
  # The basename of the program invoking the thor class.
1990
2404
  #
1991
- # source://thor//lib/thor/base.rb#673
2405
+ # source://thor//lib/thor/base.rb#772
1992
2406
  def basename; end
1993
2407
 
1994
2408
  # Build an option and adds it to the given scope.
@@ -1998,7 +2412,7 @@ module Thor::Base::ClassMethods
1998
2412
  # options<Hash>:: Described in both class_option and method_option.
1999
2413
  # scope<Hash>:: Options hash that is being built up
2000
2414
  #
2001
- # source://thor//lib/thor/base.rb#590
2415
+ # source://thor//lib/thor/base.rb#689
2002
2416
  def build_option(name, options, scope); end
2003
2417
 
2004
2418
  # Receives a hash of options, parse them and add to the scope. This is a
@@ -2009,83 +2423,100 @@ module Thor::Base::ClassMethods
2009
2423
  # ==== Parameters
2010
2424
  # Hash[Symbol => Object]
2011
2425
  #
2012
- # source://thor//lib/thor/base.rb#601
2426
+ # source://thor//lib/thor/base.rb#700
2013
2427
  def build_options(options, scope); end
2014
2428
 
2429
+ # Get target(method_options or class_options) options
2430
+ # of before and after by block evaluation.
2431
+ #
2432
+ # source://thor//lib/thor/base.rb#809
2433
+ def built_option_names(target, opt = T.unsafe(nil), &block); end
2434
+
2015
2435
  # Prints the class options per group. If an option does not belong to
2016
2436
  # any group, it's printed as Class option.
2017
2437
  #
2018
- # source://thor//lib/thor/base.rb#539
2438
+ # source://thor//lib/thor/base.rb#639
2019
2439
  def class_options_help(shell, groups = T.unsafe(nil)); end
2020
2440
 
2441
+ # Get command scope member by name.
2442
+ #
2443
+ # source://thor//lib/thor/base.rb#817
2444
+ def command_scope_member(name, options = T.unsafe(nil)); end
2445
+
2021
2446
  # SIGNATURE: Creates a new command if valid_command? is true. This method is
2022
2447
  # called when a new method is added to the class.
2023
2448
  #
2024
- # source://thor//lib/thor/base.rb#684
2449
+ # source://thor//lib/thor/base.rb#783
2025
2450
  def create_command(meth); end
2026
2451
 
2027
2452
  # SIGNATURE: Creates a new command if valid_command? is true. This method is
2028
2453
  # called when a new method is added to the class.
2029
2454
  #
2030
- # source://thor//lib/thor/base.rb#684
2455
+ # source://thor//lib/thor/base.rb#785
2031
2456
  def create_task(meth); end
2032
2457
 
2033
2458
  # SIGNATURE: The hook invoked by start.
2034
2459
  #
2035
2460
  # @raise [NotImplementedError]
2036
2461
  #
2037
- # source://thor//lib/thor/base.rb#694
2462
+ # source://thor//lib/thor/base.rb#793
2038
2463
  def dispatch(command, given_args, given_opts, config); end
2039
2464
 
2040
2465
  # Finds a command with the given name. If the command belongs to the current
2041
2466
  # class, just return it, otherwise dup it and add the fresh copy to the
2042
2467
  # current command hash.
2043
2468
  #
2044
- # source://thor//lib/thor/base.rb#610
2469
+ # source://thor//lib/thor/base.rb#709
2045
2470
  def find_and_refresh_command(name); end
2046
2471
 
2047
2472
  # Finds a command with the given name. If the command belongs to the current
2048
2473
  # class, just return it, otherwise dup it and add the fresh copy to the
2049
2474
  # current command hash.
2050
2475
  #
2051
- # source://thor//lib/thor/base.rb#610
2476
+ # source://thor//lib/thor/base.rb#718
2052
2477
  def find_and_refresh_task(name); end
2053
2478
 
2054
2479
  # Retrieves a value from superclass. If it reaches the baseclass,
2055
2480
  # returns default.
2056
2481
  #
2057
- # source://thor//lib/thor/base.rb#651
2482
+ # source://thor//lib/thor/base.rb#750
2058
2483
  def from_superclass(method, default = T.unsafe(nil)); end
2059
2484
 
2060
- # Everytime someone inherits from a Thor class, register the klass
2485
+ # Every time someone inherits from a Thor class, register the klass
2061
2486
  # and file into baseclass.
2062
2487
  #
2063
- # source://thor//lib/thor/base.rb#623
2488
+ # source://thor//lib/thor/base.rb#722
2064
2489
  def inherited(klass); end
2065
2490
 
2066
2491
  # SIGNATURE: Defines behavior when the initialize method is added to the
2067
2492
  # class.
2068
2493
  #
2069
- # source://thor//lib/thor/base.rb#690
2494
+ # source://thor//lib/thor/base.rb#789
2070
2495
  def initialize_added; end
2071
2496
 
2072
2497
  # Raises an error if the word given is a Thor reserved word.
2073
2498
  #
2074
2499
  # @return [Boolean]
2075
2500
  #
2076
- # source://thor//lib/thor/base.rb#579
2501
+ # source://thor//lib/thor/base.rb#678
2077
2502
  def is_thor_reserved_word?(word, type); end
2078
2503
 
2079
2504
  # Fire this callback whenever a method is added. Added methods are
2080
2505
  # tracked as commands by invoking the create_command method.
2081
2506
  #
2082
- # source://thor//lib/thor/base.rb#631
2507
+ # source://thor//lib/thor/base.rb#730
2083
2508
  def method_added(meth); end
2084
2509
 
2085
2510
  # Receives a set of options and print them.
2086
2511
  #
2087
- # source://thor//lib/thor/base.rb#557
2512
+ # source://thor//lib/thor/base.rb#657
2088
2513
  def print_options(shell, options, group_name = T.unsafe(nil)); end
2514
+
2515
+ # Register a relation of options for target(method_option/class_option)
2516
+ # by args and block.
2517
+ #
2518
+ # source://thor//lib/thor/base.rb#799
2519
+ def register_options_relation_for(target, relation, *args, &block); end
2089
2520
  end
2090
2521
 
2091
2522
  # source://thor//lib/thor/command.rb#2
@@ -2093,68 +2524,74 @@ class Thor::Command < ::Struct
2093
2524
  # @return [Command] a new instance of Command
2094
2525
  #
2095
2526
  # source://thor//lib/thor/command.rb#5
2096
- def initialize(name, description, long_description, usage, options = T.unsafe(nil)); end
2527
+ def initialize(name, description, long_description, wrap_long_description, usage, options = T.unsafe(nil), options_relation = T.unsafe(nil)); end
2097
2528
 
2098
2529
  # Returns the formatted usage by injecting given required arguments
2099
2530
  # and required options into the given usage.
2100
2531
  #
2101
- # source://thor//lib/thor/command.rb#41
2532
+ # source://thor//lib/thor/command.rb#42
2102
2533
  def formatted_usage(klass, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
2103
2534
 
2104
2535
  # @return [Boolean]
2105
2536
  #
2106
- # source://thor//lib/thor/command.rb#14
2537
+ # source://thor//lib/thor/command.rb#15
2107
2538
  def hidden?; end
2108
2539
 
2540
+ # source://thor//lib/thor/command.rb#70
2541
+ def method_at_least_one_option_names; end
2542
+
2543
+ # source://thor//lib/thor/command.rb#66
2544
+ def method_exclusive_option_names; end
2545
+
2109
2546
  # By default, a command invokes a method in the thor class. You can change this
2110
2547
  # implementation to create custom commands.
2111
2548
  #
2112
- # source://thor//lib/thor/command.rb#20
2549
+ # source://thor//lib/thor/command.rb#21
2113
2550
  def run(instance, args = T.unsafe(nil)); end
2114
2551
 
2115
2552
  protected
2116
2553
 
2117
2554
  # @return [Boolean]
2118
2555
  #
2119
- # source://thor//lib/thor/command.rb#105
2556
+ # source://thor//lib/thor/command.rb#114
2120
2557
  def handle_argument_error?(instance, error, caller); end
2121
2558
 
2122
2559
  # @return [Boolean]
2123
2560
  #
2124
- # source://thor//lib/thor/command.rb#112
2561
+ # source://thor//lib/thor/command.rb#121
2125
2562
  def handle_no_method_error?(instance, error, caller); end
2126
2563
 
2127
2564
  # @return [Boolean]
2128
2565
  #
2129
- # source://thor//lib/thor/command.rb#95
2566
+ # source://thor//lib/thor/command.rb#104
2130
2567
  def local_method?(instance, name); end
2131
2568
 
2132
2569
  # @return [Boolean]
2133
2570
  #
2134
- # source://thor//lib/thor/command.rb#78
2571
+ # source://thor//lib/thor/command.rb#87
2135
2572
  def not_debugging?(instance); end
2136
2573
 
2137
2574
  # @return [Boolean]
2138
2575
  #
2139
- # source://thor//lib/thor/command.rb#91
2576
+ # source://thor//lib/thor/command.rb#100
2140
2577
  def private_method?(instance); end
2141
2578
 
2142
2579
  # Given a target, checks if this class name is a public method.
2143
2580
  #
2144
2581
  # @return [Boolean]
2145
2582
  #
2146
- # source://thor//lib/thor/command.rb#87
2583
+ # source://thor//lib/thor/command.rb#96
2147
2584
  def public_method?(instance); end
2148
2585
 
2149
2586
  # Add usage with required arguments
2150
2587
  #
2151
- # source://thor//lib/thor/command.rb#68
2588
+ # source://thor//lib/thor/command.rb#77
2152
2589
  def required_arguments_for(klass, usage); end
2153
2590
 
2154
- # source://thor//lib/thor/command.rb#82
2591
+ # source://thor//lib/thor/command.rb#91
2155
2592
  def required_options; end
2156
2593
 
2157
- # source://thor//lib/thor/command.rb#100
2594
+ # source://thor//lib/thor/command.rb#109
2158
2595
  def sans_backtrace(backtrace, caller); end
2159
2596
 
2160
2597
  private
@@ -2201,35 +2638,38 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
2201
2638
 
2202
2639
  # @return [Boolean]
2203
2640
  #
2204
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
2641
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
2205
2642
  def key?(key); end
2206
2643
 
2207
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
2644
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
2208
2645
  def merge(other); end
2209
2646
 
2210
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
2647
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#57
2211
2648
  def merge!(other); end
2212
2649
 
2213
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
2650
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#72
2214
2651
  def replace(other_hash); end
2215
2652
 
2216
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#60
2653
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
2217
2654
  def reverse_merge(other); end
2218
2655
 
2219
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
2656
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
2220
2657
  def reverse_merge!(other_hash); end
2221
2658
 
2659
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
2660
+ def slice(*keys); end
2661
+
2222
2662
  # Convert to a Hash with String keys.
2223
2663
  #
2224
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#73
2664
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#77
2225
2665
  def to_hash; end
2226
2666
 
2227
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
2667
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
2228
2668
  def values_at(*indices); end
2229
2669
 
2230
2670
  protected
2231
2671
 
2232
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#79
2672
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#83
2233
2673
  def convert_key(key); end
2234
2674
 
2235
2675
  # Magic predicates. For instance:
@@ -2238,27 +2678,33 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
2238
2678
  # options.shebang # => "/usr/lib/local/ruby"
2239
2679
  # options.test_framework?(:rspec) # => options[:test_framework] == :rspec
2240
2680
  #
2241
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#89
2681
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#93
2242
2682
  def method_missing(method, *args); end
2243
2683
  end
2244
2684
 
2245
- # source://thor//lib/thor/error.rb#2
2246
- Thor::Correctable = DidYouMean::Correctable
2685
+ # source://thor//lib/thor/error.rb#3
2686
+ module Thor::Correctable
2687
+ # source://thor//lib/thor/error.rb#8
2688
+ def corrections; end
2689
+
2690
+ # source://thor//lib/thor/error.rb#4
2691
+ def to_s; end
2692
+ end
2247
2693
 
2248
2694
  # A dynamic command that handles method missing scenarios.
2249
2695
  #
2250
- # source://thor//lib/thor/command.rb#128
2696
+ # source://thor//lib/thor/command.rb#137
2251
2697
  class Thor::DynamicCommand < ::Thor::Command
2252
2698
  # @return [DynamicCommand] a new instance of DynamicCommand
2253
2699
  #
2254
- # source://thor//lib/thor/command.rb#129
2700
+ # source://thor//lib/thor/command.rb#138
2255
2701
  def initialize(name, options = T.unsafe(nil)); end
2256
2702
 
2257
- # source://thor//lib/thor/command.rb#133
2703
+ # source://thor//lib/thor/command.rb#142
2258
2704
  def run(instance, args = T.unsafe(nil)); end
2259
2705
  end
2260
2706
 
2261
- # source://thor//lib/thor/command.rb#141
2707
+ # source://thor//lib/thor/command.rb#150
2262
2708
  Thor::DynamicTask = Thor::DynamicCommand
2263
2709
 
2264
2710
  # Thor::Error is raised when it's caused by wrong usage of thor classes. Those
@@ -2268,9 +2714,12 @@ Thor::DynamicTask = Thor::DynamicCommand
2268
2714
  # overwrites a thor keyword, SHOULD NOT raise a Thor::Error. This way, we
2269
2715
  # ensure that developer errors are shown with full backtrace.
2270
2716
  #
2271
- # source://thor//lib/thor/error.rb#23
2717
+ # source://thor//lib/thor/error.rb#20
2272
2718
  class Thor::Error < ::StandardError; end
2273
2719
 
2720
+ # source://thor//lib/thor/error.rb#101
2721
+ class Thor::ExclusiveArgumentError < ::Thor::InvocationError; end
2722
+
2274
2723
  # Thor has a special class called Thor::Group. The main difference to Thor class
2275
2724
  # is that it invokes all commands at once. It also include some methods that allows
2276
2725
  # invocations to be done at the class method, which are not available to Thor
@@ -2289,7 +2738,7 @@ class Thor::Group
2289
2738
  # Shortcut to invoke with padding and block handling. Use internally by
2290
2739
  # invoke and invoke_from_option class methods.
2291
2740
  #
2292
- # source://thor//lib/thor/group.rb#265
2741
+ # source://thor//lib/thor/group.rb#276
2293
2742
  def _invoke_for_class_method(klass, command = T.unsafe(nil), *args, &block); end
2294
2743
 
2295
2744
  class << self
@@ -2299,6 +2748,19 @@ class Thor::Group
2299
2748
  # source://thor//lib/thor/group.rb#161
2300
2749
  def class_options_help(shell, groups = T.unsafe(nil)); end
2301
2750
 
2751
+ # Checks if a specified command exists.
2752
+ #
2753
+ # ==== Parameters
2754
+ # command_name<String>:: The name of the command to check for existence.
2755
+ #
2756
+ # ==== Returns
2757
+ # Boolean:: +true+ if the command exists, +false+ otherwise.
2758
+ #
2759
+ # @return [Boolean]
2760
+ #
2761
+ # source://thor//lib/thor/group.rb#221
2762
+ def command_exists?(command_name); end
2763
+
2302
2764
  # The description for this Thor::Group. If none is provided, but a source root
2303
2765
  # exists, tries to find the USAGE one folder above it, otherwise searches
2304
2766
  # in the superclass.
@@ -2389,7 +2851,7 @@ class Thor::Group
2389
2851
 
2390
2852
  # Returns commands ready to be printed.
2391
2853
  #
2392
- # source://thor//lib/thor/group.rb#199
2854
+ # source://thor//lib/thor/group.rb#205
2393
2855
  def printable_tasks(*_arg0); end
2394
2856
 
2395
2857
  # Remove a previously added invocation.
@@ -2406,53 +2868,53 @@ class Thor::Group
2406
2868
  # The banner for this class. You can customize it if you are invoking the
2407
2869
  # thor class by another ways which is not the Thor::Runner.
2408
2870
  #
2409
- # source://thor//lib/thor/group.rb#238
2871
+ # source://thor//lib/thor/group.rb#249
2410
2872
  def banner; end
2411
2873
 
2412
- # source://thor//lib/thor/group.rb#248
2874
+ # source://thor//lib/thor/group.rb#259
2413
2875
  def baseclass; end
2414
2876
 
2415
- # source://thor//lib/thor/group.rb#252
2877
+ # source://thor//lib/thor/group.rb#263
2416
2878
  def create_command(meth); end
2417
2879
 
2418
- # source://thor//lib/thor/group.rb#252
2880
+ # source://thor//lib/thor/group.rb#267
2419
2881
  def create_task(meth); end
2420
2882
 
2421
2883
  # The method responsible for dispatching given the args.
2422
2884
  #
2423
2885
  # @yield [instance]
2424
2886
  #
2425
- # source://thor//lib/thor/group.rb#217
2887
+ # source://thor//lib/thor/group.rb#228
2426
2888
  def dispatch(command, given_args, given_opts, config); end
2427
2889
 
2428
2890
  # Represents the whole class as a command.
2429
2891
  #
2430
- # source://thor//lib/thor/group.rb#243
2892
+ # source://thor//lib/thor/group.rb#254
2431
2893
  def self_command; end
2432
2894
 
2433
2895
  # Represents the whole class as a command.
2434
2896
  #
2435
- # source://thor//lib/thor/group.rb#243
2897
+ # source://thor//lib/thor/group.rb#257
2436
2898
  def self_task; end
2437
2899
  end
2438
2900
  end
2439
2901
 
2440
- # Shortcuts for help.
2902
+ # Shortcuts for help and tree commands.
2441
2903
  #
2442
2904
  # source://thor//lib/thor/base.rb#17
2443
2905
  Thor::HELP_MAPPINGS = T.let(T.unsafe(nil), Array)
2444
2906
 
2445
2907
  # A command that is hidden in help messages but still invocable.
2446
2908
  #
2447
- # source://thor//lib/thor/command.rb#120
2909
+ # source://thor//lib/thor/command.rb#129
2448
2910
  class Thor::HiddenCommand < ::Thor::Command
2449
2911
  # @return [Boolean]
2450
2912
  #
2451
- # source://thor//lib/thor/command.rb#121
2913
+ # source://thor//lib/thor/command.rb#130
2452
2914
  def hidden?; end
2453
2915
  end
2454
2916
 
2455
- # source://thor//lib/thor/command.rb#125
2917
+ # source://thor//lib/thor/command.rb#134
2456
2918
  Thor::HiddenTask = Thor::HiddenCommand
2457
2919
 
2458
2920
  # source://thor//lib/thor/invocation.rb#2
@@ -2552,7 +3014,7 @@ module Thor::Invocation
2552
3014
 
2553
3015
  # Invoke the given command if the given args.
2554
3016
  #
2555
- # source://thor//lib/thor/invocation.rb#122
3017
+ # source://thor//lib/thor/invocation.rb#130
2556
3018
  def invoke_task(command, *args); end
2557
3019
 
2558
3020
  # Invokes using shell padding.
@@ -2580,7 +3042,7 @@ module Thor::Invocation
2580
3042
  # use the given name and return self as class. Otherwise, call
2581
3043
  # prepare_for_invocation in the current class.
2582
3044
  #
2583
- # source://thor//lib/thor/invocation.rb#153
3045
+ # source://thor//lib/thor/invocation.rb#163
2584
3046
  def _retrieve_class_and_task(name, sent_command = T.unsafe(nil)); end
2585
3047
 
2586
3048
  # Configuration values that are shared between invocations.
@@ -2606,7 +3068,7 @@ end
2606
3068
 
2607
3069
  # Raised when a command was found, but not invoked properly.
2608
3070
  #
2609
- # source://thor//lib/thor/error.rb#65
3071
+ # source://thor//lib/thor/error.rb#62
2610
3072
  class Thor::InvocationError < ::Thor::Error; end
2611
3073
 
2612
3074
  # source://thor//lib/thor/line_editor/basic.rb#2
@@ -2719,7 +3181,7 @@ class Thor::LineEditor::Readline::PathCompletion
2719
3181
  def text; end
2720
3182
  end
2721
3183
 
2722
- # source://thor//lib/thor/error.rb#101
3184
+ # source://thor//lib/thor/error.rb#98
2723
3185
  class Thor::MalformattedArgumentError < ::Thor::InvocationError; end
2724
3186
 
2725
3187
  # source://thor//lib/thor/nested_context.rb#2
@@ -2746,12 +3208,6 @@ class Thor::NestedContext
2746
3208
  def push; end
2747
3209
  end
2748
3210
 
2749
- # source://thor//lib/thor/error.rb#8
2750
- class Thor::NoKwargSpellChecker < ::DidYouMean::SpellChecker
2751
- # source://thor//lib/thor/error.rb#9
2752
- def initialize(dictionary); end
2753
- end
2754
-
2755
3211
  # source://thor//lib/thor/parser/option.rb#2
2756
3212
  class Thor::Option < ::Thor::Argument
2757
3213
  # @return [Option] a new instance of Option
@@ -2764,10 +3220,13 @@ class Thor::Option < ::Thor::Argument
2764
3220
  # source://thor//lib/thor/parser/option.rb#3
2765
3221
  def aliases; end
2766
3222
 
2767
- # source://thor//lib/thor/parser/option.rb#105
3223
+ # source://thor//lib/thor/parser/option.rb#99
3224
+ def aliases_for_usage; end
3225
+
3226
+ # source://thor//lib/thor/parser/option.rb#117
2768
3227
  def array?; end
2769
3228
 
2770
- # source://thor//lib/thor/parser/option.rb#105
3229
+ # source://thor//lib/thor/parser/option.rb#117
2771
3230
  def boolean?; end
2772
3231
 
2773
3232
  # Returns the value of attribute group.
@@ -2775,7 +3234,7 @@ class Thor::Option < ::Thor::Argument
2775
3234
  # source://thor//lib/thor/parser/option.rb#3
2776
3235
  def group; end
2777
3236
 
2778
- # source://thor//lib/thor/parser/option.rb#105
3237
+ # source://thor//lib/thor/parser/option.rb#117
2779
3238
  def hash?; end
2780
3239
 
2781
3240
  # Returns the value of attribute hide.
@@ -2791,7 +3250,7 @@ class Thor::Option < ::Thor::Argument
2791
3250
  # source://thor//lib/thor/parser/option.rb#3
2792
3251
  def lazy_default; end
2793
3252
 
2794
- # source://thor//lib/thor/parser/option.rb#105
3253
+ # source://thor//lib/thor/parser/option.rb#117
2795
3254
  def numeric?; end
2796
3255
 
2797
3256
  # Returns the value of attribute repeatable.
@@ -2799,7 +3258,12 @@ class Thor::Option < ::Thor::Argument
2799
3258
  # source://thor//lib/thor/parser/option.rb#3
2800
3259
  def repeatable; end
2801
3260
 
2802
- # source://thor//lib/thor/parser/option.rb#105
3261
+ # @return [Boolean]
3262
+ #
3263
+ # source://thor//lib/thor/parser/option.rb#107
3264
+ def show_default?; end
3265
+
3266
+ # source://thor//lib/thor/parser/option.rb#117
2803
3267
  def string?; end
2804
3268
 
2805
3269
  # source://thor//lib/thor/parser/option.rb#75
@@ -2810,25 +3274,30 @@ class Thor::Option < ::Thor::Argument
2810
3274
 
2811
3275
  protected
2812
3276
 
2813
- # source://thor//lib/thor/parser/option.rb#155
3277
+ # source://thor//lib/thor/parser/option.rb#168
2814
3278
  def dasherize(str); end
2815
3279
 
2816
3280
  # @return [Boolean]
2817
3281
  #
2818
- # source://thor//lib/thor/parser/option.rb#147
3282
+ # source://thor//lib/thor/parser/option.rb#160
2819
3283
  def dasherized?; end
2820
3284
 
2821
- # source://thor//lib/thor/parser/option.rb#151
3285
+ # source://thor//lib/thor/parser/option.rb#164
2822
3286
  def undasherize(str); end
2823
3287
 
2824
3288
  # @raise [ArgumentError]
2825
3289
  #
2826
- # source://thor//lib/thor/parser/option.rb#113
3290
+ # source://thor//lib/thor/parser/option.rb#126
2827
3291
  def validate!; end
2828
3292
 
2829
- # source://thor//lib/thor/parser/option.rb#118
3293
+ # source://thor//lib/thor/parser/option.rb#131
2830
3294
  def validate_default_type!; end
2831
3295
 
3296
+ private
3297
+
3298
+ # source://thor//lib/thor/parser/option.rb#174
3299
+ def normalize_aliases(aliases); end
3300
+
2832
3301
  class << self
2833
3302
  # This parse quick options given as method_options. It makes several
2834
3303
  # assumptions, but you can be more specific using the option method.
@@ -2875,31 +3344,37 @@ class Thor::Options < ::Thor::Arguments
2875
3344
  # @return [Options] a new instance of Options
2876
3345
  #
2877
3346
  # source://thor//lib/thor/parser/options.rb#32
2878
- def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil)); end
3347
+ 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
3348
+
3349
+ # source://thor//lib/thor/parser/options.rb#156
3350
+ def check_at_least_one!; end
3351
+
3352
+ # source://thor//lib/thor/parser/options.rb#144
3353
+ def check_exclusive!; end
2879
3354
 
2880
3355
  # @raise [UnknownArgumentError]
2881
3356
  #
2882
- # source://thor//lib/thor/parser/options.rb#141
3357
+ # source://thor//lib/thor/parser/options.rb#168
2883
3358
  def check_unknown!; end
2884
3359
 
2885
- # source://thor//lib/thor/parser/options.rb#88
3360
+ # source://thor//lib/thor/parser/options.rb#89
2886
3361
  def parse(args); end
2887
3362
 
2888
- # source://thor//lib/thor/parser/options.rb#64
3363
+ # source://thor//lib/thor/parser/options.rb#65
2889
3364
  def peek; end
2890
3365
 
2891
- # source://thor//lib/thor/parser/options.rb#60
3366
+ # source://thor//lib/thor/parser/options.rb#61
2892
3367
  def remaining; end
2893
3368
 
2894
- # source://thor//lib/thor/parser/options.rb#78
3369
+ # source://thor//lib/thor/parser/options.rb#79
2895
3370
  def shift; end
2896
3371
 
2897
- # source://thor//lib/thor/parser/options.rb#83
3372
+ # source://thor//lib/thor/parser/options.rb#84
2898
3373
  def unshift(arg, is_value: T.unsafe(nil)); end
2899
3374
 
2900
3375
  protected
2901
3376
 
2902
- # source://thor//lib/thor/parser/options.rb#151
3377
+ # source://thor//lib/thor/parser/options.rb#189
2903
3378
  def assign_result!(option, result); end
2904
3379
 
2905
3380
  # Check if the current value in peek is a registered switch.
@@ -2909,45 +3384,51 @@ class Thor::Options < ::Thor::Arguments
2909
3384
  #
2910
3385
  # @return [Boolean]
2911
3386
  #
2912
- # source://thor//lib/thor/parser/options.rb#165
3387
+ # source://thor//lib/thor/parser/options.rb#203
2913
3388
  def current_is_switch?; end
2914
3389
 
2915
3390
  # @return [Boolean]
2916
3391
  #
2917
- # source://thor//lib/thor/parser/options.rb#177
3392
+ # source://thor//lib/thor/parser/options.rb#215
2918
3393
  def current_is_switch_formatted?; end
2919
3394
 
2920
3395
  # @return [Boolean]
2921
3396
  #
2922
- # source://thor//lib/thor/parser/options.rb#187
3397
+ # source://thor//lib/thor/parser/options.rb#225
2923
3398
  def current_is_value?; end
2924
3399
 
3400
+ # Option names changes to swith name or human name
3401
+ #
3402
+ # source://thor//lib/thor/parser/options.rb#179
3403
+ def names_to_switch_names(names = T.unsafe(nil)); end
3404
+
2925
3405
  # Check if the given argument is actually a shortcut.
2926
3406
  #
2927
- # source://thor//lib/thor/parser/options.rb#206
3407
+ # source://thor//lib/thor/parser/options.rb#244
2928
3408
  def normalize_switch(arg); end
2929
3409
 
2930
- # Parse boolean values which can be given as --foo=true, --foo or --no-foo.
3410
+ # Parse boolean values which can be given as --foo=true or --foo for true values, or
3411
+ # --foo=false, --no-foo or --skip-foo for false values.
2931
3412
  #
2932
- # source://thor//lib/thor/parser/options.rb#217
3413
+ # source://thor//lib/thor/parser/options.rb#256
2933
3414
  def parse_boolean(switch); end
2934
3415
 
2935
3416
  # Parse the value at the peek analyzing if it requires an input or not.
2936
3417
  #
2937
- # source://thor//lib/thor/parser/options.rb#235
3418
+ # source://thor//lib/thor/parser/options.rb#274
2938
3419
  def parse_peek(switch, option); end
2939
3420
 
2940
3421
  # @return [Boolean]
2941
3422
  #
2942
- # source://thor//lib/thor/parser/options.rb#210
3423
+ # source://thor//lib/thor/parser/options.rb#248
2943
3424
  def parsing_options?; end
2944
3425
 
2945
3426
  # @return [Boolean]
2946
3427
  #
2947
- # source://thor//lib/thor/parser/options.rb#192
3428
+ # source://thor//lib/thor/parser/options.rb#230
2948
3429
  def switch?(arg); end
2949
3430
 
2950
- # source://thor//lib/thor/parser/options.rb#196
3431
+ # source://thor//lib/thor/parser/options.rb#234
2951
3432
  def switch_option(arg); end
2952
3433
 
2953
3434
  class << self
@@ -3011,7 +3492,7 @@ module Thor::RakeCompat
3011
3492
  end
3012
3493
  end
3013
3494
 
3014
- # source://thor//lib/thor/error.rb#98
3495
+ # source://thor//lib/thor/error.rb#95
3015
3496
  class Thor::RequiredArgumentMissingError < ::Thor::InvocationError; end
3016
3497
 
3017
3498
  # source://thor//lib/thor/util.rb#4
@@ -3035,37 +3516,37 @@ module Thor::Shell
3035
3516
  # source://thor//lib/thor/shell.rb#44
3036
3517
  def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end
3037
3518
 
3038
- # source://thor//lib/thor/shell.rb#59
3519
+ # source://thor//lib/thor/shell.rb#58
3039
3520
  def ask(*args, &block); end
3040
3521
 
3041
- # source://thor//lib/thor/shell.rb#59
3522
+ # source://thor//lib/thor/shell.rb#58
3042
3523
  def error(*args, &block); end
3043
3524
 
3044
- # source://thor//lib/thor/shell.rb#59
3525
+ # source://thor//lib/thor/shell.rb#58
3045
3526
  def file_collision(*args, &block); end
3046
3527
 
3047
- # source://thor//lib/thor/shell.rb#59
3528
+ # source://thor//lib/thor/shell.rb#58
3048
3529
  def no?(*args, &block); end
3049
3530
 
3050
- # source://thor//lib/thor/shell.rb#59
3531
+ # source://thor//lib/thor/shell.rb#58
3051
3532
  def print_in_columns(*args, &block); end
3052
3533
 
3053
- # source://thor//lib/thor/shell.rb#59
3534
+ # source://thor//lib/thor/shell.rb#58
3054
3535
  def print_table(*args, &block); end
3055
3536
 
3056
- # source://thor//lib/thor/shell.rb#59
3537
+ # source://thor//lib/thor/shell.rb#58
3057
3538
  def print_wrapped(*args, &block); end
3058
3539
 
3059
- # source://thor//lib/thor/shell.rb#59
3540
+ # source://thor//lib/thor/shell.rb#58
3060
3541
  def say(*args, &block); end
3061
3542
 
3062
- # source://thor//lib/thor/shell.rb#59
3543
+ # source://thor//lib/thor/shell.rb#58
3063
3544
  def say_error(*args, &block); end
3064
3545
 
3065
- # source://thor//lib/thor/shell.rb#59
3546
+ # source://thor//lib/thor/shell.rb#58
3066
3547
  def say_status(*args, &block); end
3067
3548
 
3068
- # source://thor//lib/thor/shell.rb#59
3549
+ # source://thor//lib/thor/shell.rb#58
3069
3550
  def set_color(*args, &block); end
3070
3551
 
3071
3552
  # Holds the shell for the given Thor instance. If no shell is given,
@@ -3081,7 +3562,7 @@ module Thor::Shell
3081
3562
  # source://thor//lib/thor/shell.rb#25
3082
3563
  def shell=(_arg0); end
3083
3564
 
3084
- # source://thor//lib/thor/shell.rb#59
3565
+ # source://thor//lib/thor/shell.rb#58
3085
3566
  def terminal_width(*args, &block); end
3086
3567
 
3087
3568
  # Yields the given block with padding.
@@ -3089,7 +3570,7 @@ module Thor::Shell
3089
3570
  # source://thor//lib/thor/shell.rb#66
3090
3571
  def with_padding; end
3091
3572
 
3092
- # source://thor//lib/thor/shell.rb#59
3573
+ # source://thor//lib/thor/shell.rb#58
3093
3574
  def yes?(*args, &block); end
3094
3575
 
3095
3576
  protected
@@ -3100,13 +3581,13 @@ module Thor::Shell
3100
3581
  def _shared_configuration; end
3101
3582
  end
3102
3583
 
3103
- # source://thor//lib/thor/shell/basic.rb#3
3584
+ # source://thor//lib/thor/shell/basic.rb#7
3104
3585
  class Thor::Shell::Basic
3105
3586
  # Initialize base, mute and padding to nil.
3106
3587
  #
3107
3588
  # @return [Basic] a new instance of Basic
3108
3589
  #
3109
- # source://thor//lib/thor/shell/basic.rb#11
3590
+ # source://thor//lib/thor/shell/basic.rb#13
3110
3591
  def initialize; end
3111
3592
 
3112
3593
  # Asks something to the user and receives a response.
@@ -3129,29 +3610,29 @@ class Thor::Shell::Basic
3129
3610
  # Readline.
3130
3611
  #
3131
3612
  # ==== Example
3132
- # ask("What is your name?")
3613
+ # ask("What is your name?")
3133
3614
  #
3134
- # ask("What is the planet furthest from the sun?", :default => "Pluto")
3615
+ # ask("What is the planet furthest from the sun?", :default => "Neptune")
3135
3616
  #
3136
- # ask("What is your favorite Neopolitan flavor?", :limited_to => ["strawberry", "chocolate", "vanilla"])
3617
+ # ask("What is your favorite Neopolitan flavor?", :limited_to => ["strawberry", "chocolate", "vanilla"])
3137
3618
  #
3138
- # ask("What is your password?", :echo => false)
3619
+ # ask("What is your password?", :echo => false)
3139
3620
  #
3140
- # ask("Where should the file be saved?", :path => true)
3621
+ # ask("Where should the file be saved?", :path => true)
3141
3622
  #
3142
- # source://thor//lib/thor/shell/basic.rb#78
3623
+ # source://thor//lib/thor/shell/basic.rb#80
3143
3624
  def ask(statement, *args); end
3144
3625
 
3145
3626
  # Returns the value of attribute base.
3146
3627
  #
3147
- # source://thor//lib/thor/shell/basic.rb#6
3628
+ # source://thor//lib/thor/shell/basic.rb#8
3148
3629
  def base; end
3149
3630
 
3150
3631
  # Sets the attribute base
3151
3632
  #
3152
3633
  # @param value the value to set the attribute base to.
3153
3634
  #
3154
- # source://thor//lib/thor/shell/basic.rb#6
3635
+ # source://thor//lib/thor/shell/basic.rb#8
3155
3636
  def base=(_arg0); end
3156
3637
 
3157
3638
  # Called if something goes wrong during the execution. This is used by Thor
@@ -3159,7 +3640,7 @@ class Thor::Shell::Basic
3159
3640
  # wrong, you can always raise an exception. If you raise a Thor::Error, it
3160
3641
  # will be rescued and wrapped in the method below.
3161
3642
  #
3162
- # source://thor//lib/thor/shell/basic.rb#342
3643
+ # source://thor//lib/thor/shell/basic.rb#251
3163
3644
  def error(statement); end
3164
3645
 
3165
3646
  # Deals with file collision and returns true if the file should be
@@ -3170,42 +3651,42 @@ class Thor::Shell::Basic
3170
3651
  # destination<String>:: the destination file to solve conflicts
3171
3652
  # block<Proc>:: an optional block that returns the value to be used in diff and merge
3172
3653
  #
3173
- # source://thor//lib/thor/shell/basic.rb#285
3654
+ # source://thor//lib/thor/shell/basic.rb#207
3174
3655
  def file_collision(destination); end
3175
3656
 
3176
3657
  # Sets the output padding while executing a block and resets it.
3177
3658
  #
3178
- # source://thor//lib/thor/shell/basic.rb#41
3659
+ # source://thor//lib/thor/shell/basic.rb#43
3179
3660
  def indent(count = T.unsafe(nil)); end
3180
3661
 
3181
3662
  # Mute everything that's inside given block
3182
3663
  #
3183
- # source://thor//lib/thor/shell/basic.rb#20
3664
+ # source://thor//lib/thor/shell/basic.rb#22
3184
3665
  def mute; end
3185
3666
 
3186
3667
  # Check if base is muted
3187
3668
  #
3188
3669
  # @return [Boolean]
3189
3670
  #
3190
- # source://thor//lib/thor/shell/basic.rb#29
3671
+ # source://thor//lib/thor/shell/basic.rb#31
3191
3672
  def mute?; end
3192
3673
 
3193
- # Make a question the to user and returns true if the user replies "n" or
3674
+ # Asks the user a question and returns true if the user replies "n" or
3194
3675
  # "no".
3195
3676
  #
3196
3677
  # @return [Boolean]
3197
3678
  #
3198
- # source://thor//lib/thor/shell/basic.rb#154
3679
+ # source://thor//lib/thor/shell/basic.rb#156
3199
3680
  def no?(statement, color = T.unsafe(nil)); end
3200
3681
 
3201
3682
  # Returns the value of attribute padding.
3202
3683
  #
3203
- # source://thor//lib/thor/shell/basic.rb#7
3684
+ # source://thor//lib/thor/shell/basic.rb#9
3204
3685
  def padding; end
3205
3686
 
3206
3687
  # Sets the output padding, not allowing less than zero values.
3207
3688
  #
3208
- # source://thor//lib/thor/shell/basic.rb#35
3689
+ # source://thor//lib/thor/shell/basic.rb#37
3209
3690
  def padding=(value); end
3210
3691
 
3211
3692
  # Prints values in columns
@@ -3213,7 +3694,7 @@ class Thor::Shell::Basic
3213
3694
  # ==== Parameters
3214
3695
  # Array[String, String, ...]
3215
3696
  #
3216
- # source://thor//lib/thor/shell/basic.rb#163
3697
+ # source://thor//lib/thor/shell/basic.rb#165
3217
3698
  def print_in_columns(array); end
3218
3699
 
3219
3700
  # Prints a table.
@@ -3224,8 +3705,9 @@ class Thor::Shell::Basic
3224
3705
  # ==== Options
3225
3706
  # indent<Integer>:: Indent the first column by indent value.
3226
3707
  # colwidth<Integer>:: Force the first column to colwidth spaces wide.
3708
+ # borders<Boolean>:: Adds ascii borders.
3227
3709
  #
3228
- # source://thor//lib/thor/shell/basic.rb#185
3710
+ # source://thor//lib/thor/shell/basic.rb#180
3229
3711
  def print_table(array, options = T.unsafe(nil)); end
3230
3712
 
3231
3713
  # Prints a long string, word-wrapping the text to the current width of the
@@ -3237,7 +3719,7 @@ class Thor::Shell::Basic
3237
3719
  # ==== Options
3238
3720
  # indent<Integer>:: Indent each line of the printed paragraph by indent value.
3239
3721
  #
3240
- # source://thor//lib/thor/shell/basic.rb#247
3722
+ # source://thor//lib/thor/shell/basic.rb#194
3241
3723
  def print_wrapped(message, options = T.unsafe(nil)); end
3242
3724
 
3243
3725
  # Say (print) something to the user. If the sentence ends with a whitespace
@@ -3245,9 +3727,9 @@ class Thor::Shell::Basic
3245
3727
  # are passed straight to puts (behavior got from Highline).
3246
3728
  #
3247
3729
  # ==== Example
3248
- # say("I know you knew that.")
3730
+ # say("I know you knew that.")
3249
3731
  #
3250
- # source://thor//lib/thor/shell/basic.rb#96
3732
+ # source://thor//lib/thor/shell/basic.rb#98
3251
3733
  def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
3252
3734
 
3253
3735
  # Say (print) an error to the user. If the sentence ends with a whitespace
@@ -3255,9 +3737,9 @@ class Thor::Shell::Basic
3255
3737
  # are passed straight to puts (behavior got from Highline).
3256
3738
  #
3257
3739
  # ==== Example
3258
- # say_error("error: something went wrong")
3740
+ # say_error("error: something went wrong")
3259
3741
  #
3260
- # source://thor//lib/thor/shell/basic.rb#113
3742
+ # source://thor//lib/thor/shell/basic.rb#115
3261
3743
  def say_error(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
3262
3744
 
3263
3745
  # Say a status with the given color and appends the message. Since this
@@ -3265,110 +3747,89 @@ class Thor::Shell::Basic
3265
3747
  # in log_status, avoiding the message from being shown. If a Symbol is
3266
3748
  # given in log_status, it's used as the color.
3267
3749
  #
3268
- # source://thor//lib/thor/shell/basic.rb#128
3750
+ # source://thor//lib/thor/shell/basic.rb#130
3269
3751
  def say_status(status, message, log_status = T.unsafe(nil)); end
3270
3752
 
3271
3753
  # Apply color to the given string with optional bold. Disabled in the
3272
3754
  # Thor::Shell::Basic class.
3273
3755
  #
3274
- # source://thor//lib/thor/shell/basic.rb#349
3756
+ # source://thor//lib/thor/shell/basic.rb#258
3275
3757
  def set_color(string, *_arg1); end
3276
3758
 
3277
- # source://thor//lib/thor/shell/basic.rb#326
3278
- def terminal_width; end
3279
-
3280
- # Make a question the to user and returns true if the user replies "y" or
3759
+ # Asks the user a question and returns true if the user replies "y" or
3281
3760
  # "yes".
3282
3761
  #
3283
3762
  # @return [Boolean]
3284
3763
  #
3285
- # source://thor//lib/thor/shell/basic.rb#147
3764
+ # source://thor//lib/thor/shell/basic.rb#149
3286
3765
  def yes?(statement, color = T.unsafe(nil)); end
3287
3766
 
3288
3767
  protected
3289
3768
 
3290
- # source://thor//lib/thor/shell/basic.rb#486
3769
+ # source://thor//lib/thor/shell/basic.rb#360
3291
3770
  def answer_match(possibilities, answer, case_insensitive); end
3292
3771
 
3293
- # source://thor//lib/thor/shell/basic.rb#443
3294
- def as_unicode; end
3295
-
3296
- # source://thor//lib/thor/shell/basic.rb#473
3772
+ # source://thor//lib/thor/shell/basic.rb#347
3297
3773
  def ask_filtered(statement, color, options); end
3298
3774
 
3299
- # source://thor//lib/thor/shell/basic.rb#456
3775
+ # source://thor//lib/thor/shell/basic.rb#330
3300
3776
  def ask_simply(statement, color, options); end
3301
3777
 
3302
3778
  # @return [Boolean]
3303
3779
  #
3304
- # source://thor//lib/thor/shell/basic.rb#360
3780
+ # source://thor//lib/thor/shell/basic.rb#269
3305
3781
  def can_display_colors?; end
3306
3782
 
3307
- # Calculate the dynamic width of the terminal
3308
- #
3309
- # source://thor//lib/thor/shell/basic.rb#415
3310
- def dynamic_width; end
3311
-
3312
- # source://thor//lib/thor/shell/basic.rb#419
3313
- def dynamic_width_stty; end
3783
+ # source://thor//lib/thor/shell/basic.rb#384
3784
+ def diff_tool; end
3314
3785
 
3315
- # source://thor//lib/thor/shell/basic.rb#423
3316
- def dynamic_width_tput; end
3317
-
3318
- # source://thor//lib/thor/shell/basic.rb#387
3319
- def file_collision_help; end
3320
-
3321
- # source://thor//lib/thor/shell/basic.rb#507
3322
- def git_merge_tool; end
3786
+ # source://thor//lib/thor/shell/basic.rb#296
3787
+ def file_collision_help(block_given); end
3323
3788
 
3324
3789
  # @return [Boolean]
3325
3790
  #
3326
- # source://thor//lib/thor/shell/basic.rb#377
3791
+ # source://thor//lib/thor/shell/basic.rb#286
3327
3792
  def is?(value); end
3328
3793
 
3329
- # source://thor//lib/thor/shell/basic.rb#364
3794
+ # source://thor//lib/thor/shell/basic.rb#273
3330
3795
  def lookup_color(color); end
3331
3796
 
3332
- # source://thor//lib/thor/shell/basic.rb#494
3797
+ # source://thor//lib/thor/shell/basic.rb#368
3333
3798
  def merge(destination, content); end
3334
3799
 
3335
- # source://thor//lib/thor/shell/basic.rb#503
3800
+ # source://thor//lib/thor/shell/basic.rb#377
3336
3801
  def merge_tool; end
3337
3802
 
3338
- # source://thor//lib/thor/shell/basic.rb#355
3803
+ # source://thor//lib/thor/shell/basic.rb#264
3339
3804
  def prepare_message(message, *color); end
3340
3805
 
3341
3806
  # @return [Boolean]
3342
3807
  #
3343
- # source://thor//lib/thor/shell/basic.rb#410
3808
+ # source://thor//lib/thor/shell/basic.rb#322
3344
3809
  def quiet?; end
3345
3810
 
3346
- # source://thor//lib/thor/shell/basic.rb#399
3811
+ # source://thor//lib/thor/shell/basic.rb#313
3347
3812
  def show_diff(destination, content); end
3348
3813
 
3349
- # source://thor//lib/thor/shell/basic.rb#373
3814
+ # source://thor//lib/thor/shell/basic.rb#282
3350
3815
  def stderr; end
3351
3816
 
3352
- # source://thor//lib/thor/shell/basic.rb#369
3817
+ # source://thor//lib/thor/shell/basic.rb#278
3353
3818
  def stdout; end
3354
3819
 
3355
- # source://thor//lib/thor/shell/basic.rb#431
3356
- def truncate(string, width); end
3357
-
3358
3820
  # @return [Boolean]
3359
3821
  #
3360
- # source://thor//lib/thor/shell/basic.rb#427
3822
+ # source://thor//lib/thor/shell/basic.rb#326
3361
3823
  def unix?; end
3362
3824
  end
3363
3825
 
3364
- # source://thor//lib/thor/shell/basic.rb#4
3365
- Thor::Shell::Basic::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
3366
-
3367
3826
  # Inherit from Thor::Shell::Basic and add set_color behavior. Check
3368
3827
  # Thor::Shell::Basic to see all available methods.
3369
3828
  #
3370
- # source://thor//lib/thor/shell/color.rb#8
3829
+ # source://thor//lib/thor/shell/color.rb#11
3371
3830
  class Thor::Shell::Color < ::Thor::Shell::Basic
3831
+ include ::LCSDiff
3832
+
3372
3833
  # Set color by using a string or one of the defined constants. If a third
3373
3834
  # option is set to true, it also adds bold to the string. This is based
3374
3835
  # on Highline implementation and it automatically appends CLEAR to the end
@@ -3401,149 +3862,155 @@ class Thor::Shell::Color < ::Thor::Shell::Basic
3401
3862
  # :on_cyan
3402
3863
  # :on_white
3403
3864
  #
3404
- # source://thor//lib/thor/shell/color.rb#79
3865
+ # source://thor//lib/thor/shell/color.rb#84
3405
3866
  def set_color(string, *colors); end
3406
3867
 
3407
3868
  protected
3408
3869
 
3409
3870
  # @return [Boolean]
3410
3871
  #
3411
- # source://thor//lib/thor/shell/color.rb#107
3872
+ # source://thor//lib/thor/shell/color.rb#112
3412
3873
  def are_colors_disabled?; end
3413
3874
 
3414
3875
  # @return [Boolean]
3415
3876
  #
3416
- # source://thor//lib/thor/shell/color.rb#103
3877
+ # source://thor//lib/thor/shell/color.rb#108
3417
3878
  def are_colors_supported?; end
3418
3879
 
3419
3880
  # @return [Boolean]
3420
3881
  #
3421
- # source://thor//lib/thor/shell/color.rb#99
3882
+ # source://thor//lib/thor/shell/color.rb#104
3422
3883
  def can_display_colors?; end
3423
-
3424
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
3425
- # for diff.
3426
- #
3427
- # @return [Boolean]
3428
- #
3429
- # source://thor//lib/thor/shell/color.rb#144
3430
- def diff_lcs_loaded?; end
3431
-
3432
- # source://thor//lib/thor/shell/color.rb#127
3433
- def output_diff_line(diff); end
3434
-
3435
- # Overwrite show_diff to show diff with colors if Diff::LCS is
3436
- # available.
3437
- #
3438
- # source://thor//lib/thor/shell/color.rb#114
3439
- def show_diff(destination, content); end
3440
3884
  end
3441
3885
 
3442
3886
  # Set the terminal's foreground ANSI color to black.
3443
3887
  #
3444
- # source://thor//lib/thor/shell/color.rb#15
3888
+ # source://thor//lib/thor/shell/color.rb#20
3445
3889
  Thor::Shell::Color::BLACK = T.let(T.unsafe(nil), String)
3446
3890
 
3447
3891
  # Set the terminal's foreground ANSI color to blue.
3448
3892
  #
3449
- # source://thor//lib/thor/shell/color.rb#23
3893
+ # source://thor//lib/thor/shell/color.rb#28
3450
3894
  Thor::Shell::Color::BLUE = T.let(T.unsafe(nil), String)
3451
3895
 
3452
3896
  # The start of an ANSI bold sequence.
3453
3897
  #
3454
- # source://thor//lib/thor/shell/color.rb#12
3898
+ # source://thor//lib/thor/shell/color.rb#17
3455
3899
  Thor::Shell::Color::BOLD = T.let(T.unsafe(nil), String)
3456
3900
 
3457
3901
  # Embed in a String to clear all previous ANSI sequences.
3458
3902
  #
3459
- # source://thor//lib/thor/shell/color.rb#10
3903
+ # source://thor//lib/thor/shell/color.rb#15
3460
3904
  Thor::Shell::Color::CLEAR = T.let(T.unsafe(nil), String)
3461
3905
 
3462
3906
  # Set the terminal's foreground ANSI color to cyan.
3463
3907
  #
3464
- # source://thor//lib/thor/shell/color.rb#27
3908
+ # source://thor//lib/thor/shell/color.rb#32
3465
3909
  Thor::Shell::Color::CYAN = T.let(T.unsafe(nil), String)
3466
3910
 
3467
3911
  # Set the terminal's foreground ANSI color to green.
3468
3912
  #
3469
- # source://thor//lib/thor/shell/color.rb#19
3913
+ # source://thor//lib/thor/shell/color.rb#24
3470
3914
  Thor::Shell::Color::GREEN = T.let(T.unsafe(nil), String)
3471
3915
 
3472
3916
  # Set the terminal's foreground ANSI color to magenta.
3473
3917
  #
3474
- # source://thor//lib/thor/shell/color.rb#25
3918
+ # source://thor//lib/thor/shell/color.rb#30
3475
3919
  Thor::Shell::Color::MAGENTA = T.let(T.unsafe(nil), String)
3476
3920
 
3477
3921
  # Set the terminal's background ANSI color to black.
3478
3922
  #
3479
- # source://thor//lib/thor/shell/color.rb#32
3923
+ # source://thor//lib/thor/shell/color.rb#37
3480
3924
  Thor::Shell::Color::ON_BLACK = T.let(T.unsafe(nil), String)
3481
3925
 
3482
3926
  # Set the terminal's background ANSI color to blue.
3483
3927
  #
3484
- # source://thor//lib/thor/shell/color.rb#40
3928
+ # source://thor//lib/thor/shell/color.rb#45
3485
3929
  Thor::Shell::Color::ON_BLUE = T.let(T.unsafe(nil), String)
3486
3930
 
3487
3931
  # Set the terminal's background ANSI color to cyan.
3488
3932
  #
3489
- # source://thor//lib/thor/shell/color.rb#44
3933
+ # source://thor//lib/thor/shell/color.rb#49
3490
3934
  Thor::Shell::Color::ON_CYAN = T.let(T.unsafe(nil), String)
3491
3935
 
3492
3936
  # Set the terminal's background ANSI color to green.
3493
3937
  #
3494
- # source://thor//lib/thor/shell/color.rb#36
3938
+ # source://thor//lib/thor/shell/color.rb#41
3495
3939
  Thor::Shell::Color::ON_GREEN = T.let(T.unsafe(nil), String)
3496
3940
 
3497
3941
  # Set the terminal's background ANSI color to magenta.
3498
3942
  #
3499
- # source://thor//lib/thor/shell/color.rb#42
3943
+ # source://thor//lib/thor/shell/color.rb#47
3500
3944
  Thor::Shell::Color::ON_MAGENTA = T.let(T.unsafe(nil), String)
3501
3945
 
3502
3946
  # Set the terminal's background ANSI color to red.
3503
3947
  #
3504
- # source://thor//lib/thor/shell/color.rb#34
3948
+ # source://thor//lib/thor/shell/color.rb#39
3505
3949
  Thor::Shell::Color::ON_RED = T.let(T.unsafe(nil), String)
3506
3950
 
3507
3951
  # Set the terminal's background ANSI color to white.
3508
3952
  #
3509
- # source://thor//lib/thor/shell/color.rb#46
3953
+ # source://thor//lib/thor/shell/color.rb#51
3510
3954
  Thor::Shell::Color::ON_WHITE = T.let(T.unsafe(nil), String)
3511
3955
 
3512
3956
  # Set the terminal's background ANSI color to yellow.
3513
3957
  #
3514
- # source://thor//lib/thor/shell/color.rb#38
3958
+ # source://thor//lib/thor/shell/color.rb#43
3515
3959
  Thor::Shell::Color::ON_YELLOW = T.let(T.unsafe(nil), String)
3516
3960
 
3517
3961
  # Set the terminal's foreground ANSI color to red.
3518
3962
  #
3519
- # source://thor//lib/thor/shell/color.rb#17
3963
+ # source://thor//lib/thor/shell/color.rb#22
3520
3964
  Thor::Shell::Color::RED = T.let(T.unsafe(nil), String)
3521
3965
 
3522
3966
  # Set the terminal's foreground ANSI color to white.
3523
3967
  #
3524
- # source://thor//lib/thor/shell/color.rb#29
3968
+ # source://thor//lib/thor/shell/color.rb#34
3525
3969
  Thor::Shell::Color::WHITE = T.let(T.unsafe(nil), String)
3526
3970
 
3527
3971
  # Set the terminal's foreground ANSI color to yellow.
3528
3972
  #
3529
- # source://thor//lib/thor/shell/color.rb#21
3973
+ # source://thor//lib/thor/shell/color.rb#26
3530
3974
  Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String)
3531
3975
 
3976
+ # source://thor//lib/thor/shell/column_printer.rb#5
3977
+ class Thor::Shell::ColumnPrinter
3978
+ # @return [ColumnPrinter] a new instance of ColumnPrinter
3979
+ #
3980
+ # source://thor//lib/thor/shell/column_printer.rb#8
3981
+ def initialize(stdout, options = T.unsafe(nil)); end
3982
+
3983
+ # Returns the value of attribute options.
3984
+ #
3985
+ # source://thor//lib/thor/shell/column_printer.rb#6
3986
+ def options; end
3987
+
3988
+ # source://thor//lib/thor/shell/column_printer.rb#14
3989
+ def print(array); end
3990
+
3991
+ # Returns the value of attribute stdout.
3992
+ #
3993
+ # source://thor//lib/thor/shell/column_printer.rb#6
3994
+ def stdout; end
3995
+ end
3996
+
3532
3997
  # Inherit from Thor::Shell::Basic and add set_color behavior. Check
3533
3998
  # Thor::Shell::Basic to see all available methods.
3534
3999
  #
3535
- # source://thor//lib/thor/shell/html.rb#8
4000
+ # source://thor//lib/thor/shell/html.rb#9
3536
4001
  class Thor::Shell::HTML < ::Thor::Shell::Basic
4002
+ include ::LCSDiff
4003
+
3537
4004
  # Ask something to the user and receives a response.
3538
4005
  #
3539
4006
  # ==== Example
3540
- # ask("What is your name?")
4007
+ # ask("What is your name?")
3541
4008
  #
3542
4009
  # TODO: Implement #ask for Thor::Shell::HTML
3543
4010
  #
3544
4011
  # @raise [NotImplementedError]
3545
4012
  #
3546
- # source://thor//lib/thor/shell/html.rb#70
4013
+ # source://thor//lib/thor/shell/html.rb#73
3547
4014
  def ask(statement, color = T.unsafe(nil)); end
3548
4015
 
3549
4016
  # Set color by using a string or one of the defined constants. If a third
@@ -3551,213 +4018,265 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
3551
4018
  # on Highline implementation and it automatically appends CLEAR to the end
3552
4019
  # of the returned String.
3553
4020
  #
3554
- # source://thor//lib/thor/shell/html.rb#51
4021
+ # source://thor//lib/thor/shell/html.rb#54
3555
4022
  def set_color(string, *colors); end
3556
4023
 
3557
4024
  protected
3558
4025
 
3559
4026
  # @return [Boolean]
3560
4027
  #
3561
- # source://thor//lib/thor/shell/html.rb#76
4028
+ # source://thor//lib/thor/shell/html.rb#79
3562
4029
  def can_display_colors?; end
3563
-
3564
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
3565
- # for diff.
3566
- #
3567
- # @return [Boolean]
3568
- #
3569
- # source://thor//lib/thor/shell/html.rb#113
3570
- def diff_lcs_loaded?; end
3571
-
3572
- # source://thor//lib/thor/shell/html.rb#96
3573
- def output_diff_line(diff); end
3574
-
3575
- # Overwrite show_diff to show diff with colors if Diff::LCS is
3576
- # available.
3577
- #
3578
- # source://thor//lib/thor/shell/html.rb#83
3579
- def show_diff(destination, content); end
3580
4030
  end
3581
4031
 
3582
4032
  # Set the terminal's foreground HTML color to black.
3583
4033
  #
3584
- # source://thor//lib/thor/shell/html.rb#13
4034
+ # source://thor//lib/thor/shell/html.rb#16
3585
4035
  Thor::Shell::HTML::BLACK = T.let(T.unsafe(nil), String)
3586
4036
 
3587
4037
  # Set the terminal's foreground HTML color to blue.
3588
4038
  #
3589
- # source://thor//lib/thor/shell/html.rb#21
4039
+ # source://thor//lib/thor/shell/html.rb#24
3590
4040
  Thor::Shell::HTML::BLUE = T.let(T.unsafe(nil), String)
3591
4041
 
3592
4042
  # The start of an HTML bold sequence.
3593
4043
  #
3594
- # source://thor//lib/thor/shell/html.rb#10
4044
+ # source://thor//lib/thor/shell/html.rb#13
3595
4045
  Thor::Shell::HTML::BOLD = T.let(T.unsafe(nil), String)
3596
4046
 
3597
4047
  # Set the terminal's foreground HTML color to cyan.
3598
4048
  #
3599
- # source://thor//lib/thor/shell/html.rb#25
4049
+ # source://thor//lib/thor/shell/html.rb#28
3600
4050
  Thor::Shell::HTML::CYAN = T.let(T.unsafe(nil), String)
3601
4051
 
3602
4052
  # Set the terminal's foreground HTML color to green.
3603
4053
  #
3604
- # source://thor//lib/thor/shell/html.rb#17
4054
+ # source://thor//lib/thor/shell/html.rb#20
3605
4055
  Thor::Shell::HTML::GREEN = T.let(T.unsafe(nil), String)
3606
4056
 
3607
4057
  # Set the terminal's foreground HTML color to magenta.
3608
4058
  #
3609
- # source://thor//lib/thor/shell/html.rb#23
4059
+ # source://thor//lib/thor/shell/html.rb#26
3610
4060
  Thor::Shell::HTML::MAGENTA = T.let(T.unsafe(nil), String)
3611
4061
 
3612
4062
  # Set the terminal's background HTML color to black.
3613
4063
  #
3614
- # source://thor//lib/thor/shell/html.rb#30
4064
+ # source://thor//lib/thor/shell/html.rb#33
3615
4065
  Thor::Shell::HTML::ON_BLACK = T.let(T.unsafe(nil), String)
3616
4066
 
3617
4067
  # Set the terminal's background HTML color to blue.
3618
4068
  #
3619
- # source://thor//lib/thor/shell/html.rb#38
4069
+ # source://thor//lib/thor/shell/html.rb#41
3620
4070
  Thor::Shell::HTML::ON_BLUE = T.let(T.unsafe(nil), String)
3621
4071
 
3622
4072
  # Set the terminal's background HTML color to cyan.
3623
4073
  #
3624
- # source://thor//lib/thor/shell/html.rb#42
4074
+ # source://thor//lib/thor/shell/html.rb#45
3625
4075
  Thor::Shell::HTML::ON_CYAN = T.let(T.unsafe(nil), String)
3626
4076
 
3627
4077
  # Set the terminal's background HTML color to green.
3628
4078
  #
3629
- # source://thor//lib/thor/shell/html.rb#34
4079
+ # source://thor//lib/thor/shell/html.rb#37
3630
4080
  Thor::Shell::HTML::ON_GREEN = T.let(T.unsafe(nil), String)
3631
4081
 
3632
4082
  # Set the terminal's background HTML color to magenta.
3633
4083
  #
3634
- # source://thor//lib/thor/shell/html.rb#40
4084
+ # source://thor//lib/thor/shell/html.rb#43
3635
4085
  Thor::Shell::HTML::ON_MAGENTA = T.let(T.unsafe(nil), String)
3636
4086
 
3637
4087
  # Set the terminal's background HTML color to red.
3638
4088
  #
3639
- # source://thor//lib/thor/shell/html.rb#32
4089
+ # source://thor//lib/thor/shell/html.rb#35
3640
4090
  Thor::Shell::HTML::ON_RED = T.let(T.unsafe(nil), String)
3641
4091
 
3642
4092
  # Set the terminal's background HTML color to white.
3643
4093
  #
3644
- # source://thor//lib/thor/shell/html.rb#44
4094
+ # source://thor//lib/thor/shell/html.rb#47
3645
4095
  Thor::Shell::HTML::ON_WHITE = T.let(T.unsafe(nil), String)
3646
4096
 
3647
4097
  # Set the terminal's background HTML color to yellow.
3648
4098
  #
3649
- # source://thor//lib/thor/shell/html.rb#36
4099
+ # source://thor//lib/thor/shell/html.rb#39
3650
4100
  Thor::Shell::HTML::ON_YELLOW = T.let(T.unsafe(nil), String)
3651
4101
 
3652
4102
  # Set the terminal's foreground HTML color to red.
3653
4103
  #
3654
- # source://thor//lib/thor/shell/html.rb#15
4104
+ # source://thor//lib/thor/shell/html.rb#18
3655
4105
  Thor::Shell::HTML::RED = T.let(T.unsafe(nil), String)
3656
4106
 
3657
4107
  # Set the terminal's foreground HTML color to white.
3658
4108
  #
3659
- # source://thor//lib/thor/shell/html.rb#27
4109
+ # source://thor//lib/thor/shell/html.rb#30
3660
4110
  Thor::Shell::HTML::WHITE = T.let(T.unsafe(nil), String)
3661
4111
 
3662
4112
  # Set the terminal's foreground HTML color to yellow.
3663
4113
  #
3664
- # source://thor//lib/thor/shell/html.rb#19
4114
+ # source://thor//lib/thor/shell/html.rb#22
3665
4115
  Thor::Shell::HTML::YELLOW = T.let(T.unsafe(nil), String)
3666
4116
 
3667
4117
  # source://thor//lib/thor/shell.rb#24
3668
4118
  Thor::Shell::SHELL_DELEGATED_METHODS = T.let(T.unsafe(nil), Array)
3669
4119
 
3670
- # source://thor//lib/thor/base.rb#23
4120
+ # source://thor//lib/thor/shell/table_printer.rb#6
4121
+ class Thor::Shell::TablePrinter < ::Thor::Shell::ColumnPrinter
4122
+ # @return [TablePrinter] a new instance of TablePrinter
4123
+ #
4124
+ # source://thor//lib/thor/shell/table_printer.rb#9
4125
+ def initialize(stdout, options = T.unsafe(nil)); end
4126
+
4127
+ # source://thor//lib/thor/shell/table_printer.rb#18
4128
+ def print(array); end
4129
+
4130
+ private
4131
+
4132
+ # source://thor//lib/thor/shell/table_printer.rb#72
4133
+ def format_cell(column, row_size, index); end
4134
+
4135
+ # source://thor//lib/thor/shell/table_printer.rb#113
4136
+ def indentation; end
4137
+
4138
+ # source://thor//lib/thor/shell/table_printer.rb#47
4139
+ def prepare(array); end
4140
+
4141
+ # source://thor//lib/thor/shell/table_printer.rb#96
4142
+ def print_border_separator; end
4143
+
4144
+ # source://thor//lib/thor/shell/table_printer.rb#103
4145
+ def truncate(string); end
4146
+ end
4147
+
4148
+ # source://thor//lib/thor/shell/table_printer.rb#7
4149
+ Thor::Shell::TablePrinter::BORDER_SEPARATOR = T.let(T.unsafe(nil), Symbol)
4150
+
4151
+ # source://thor//lib/thor/shell/terminal.rb#3
4152
+ module Thor::Shell::Terminal
4153
+ class << self
4154
+ # source://thor//lib/thor/shell/terminal.rb#9
4155
+ def terminal_width; end
4156
+
4157
+ # @return [Boolean]
4158
+ #
4159
+ # source://thor//lib/thor/shell/terminal.rb#20
4160
+ def unix?; end
4161
+
4162
+ private
4163
+
4164
+ # Calculate the dynamic width of the terminal
4165
+ #
4166
+ # source://thor//lib/thor/shell/terminal.rb#27
4167
+ def dynamic_width; end
4168
+
4169
+ # source://thor//lib/thor/shell/terminal.rb#31
4170
+ def dynamic_width_stty; end
4171
+
4172
+ # source://thor//lib/thor/shell/terminal.rb#35
4173
+ def dynamic_width_tput; end
4174
+ end
4175
+ end
4176
+
4177
+ # source://thor//lib/thor/shell/terminal.rb#4
4178
+ Thor::Shell::Terminal::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
4179
+
4180
+ # source://thor//lib/thor/shell/wrapped_printer.rb#6
4181
+ class Thor::Shell::WrappedPrinter < ::Thor::Shell::ColumnPrinter
4182
+ # source://thor//lib/thor/shell/wrapped_printer.rb#7
4183
+ def print(message); end
4184
+ end
4185
+
4186
+ # source://thor//lib/thor/base.rb#24
3671
4187
  Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
3672
4188
 
3673
4189
  # Thor methods that should not be overwritten by the user.
3674
4190
  #
3675
- # source://thor//lib/thor/base.rb#20
4191
+ # source://thor//lib/thor/base.rb#21
3676
4192
  Thor::THOR_RESERVED_WORDS = T.let(T.unsafe(nil), Array)
3677
4193
 
3678
- # source://thor//lib/thor/command.rb#117
4194
+ # source://thor//lib/thor/base.rb#18
4195
+ Thor::TREE_MAPPINGS = T.let(T.unsafe(nil), Array)
4196
+
4197
+ # source://thor//lib/thor/command.rb#126
3679
4198
  Thor::Task = Thor::Command
3680
4199
 
3681
4200
  # Raised when a command was not found.
3682
4201
  #
3683
- # source://thor//lib/thor/error.rb#27
4202
+ # source://thor//lib/thor/error.rb#24
3684
4203
  class Thor::UndefinedCommandError < ::Thor::Error
3685
- include ::DidYouMean::Correctable
4204
+ include ::Thor::Correctable
3686
4205
 
3687
4206
  # @return [UndefinedCommandError] a new instance of UndefinedCommandError
3688
4207
  #
3689
- # source://thor//lib/thor/error.rb#46
4208
+ # source://thor//lib/thor/error.rb#43
3690
4209
  def initialize(command, all_commands, namespace); end
3691
4210
 
3692
4211
  # Returns the value of attribute all_commands.
3693
4212
  #
3694
- # source://thor//lib/thor/error.rb#44
4213
+ # source://thor//lib/thor/error.rb#41
3695
4214
  def all_commands; end
3696
4215
 
3697
4216
  # Returns the value of attribute command.
3698
4217
  #
3699
- # source://thor//lib/thor/error.rb#44
4218
+ # source://thor//lib/thor/error.rb#41
3700
4219
  def command; end
3701
4220
  end
3702
4221
 
3703
- # source://thor//lib/thor/error.rb#28
4222
+ # source://thor//lib/thor/error.rb#25
3704
4223
  class Thor::UndefinedCommandError::SpellChecker
3705
4224
  # @return [SpellChecker] a new instance of SpellChecker
3706
4225
  #
3707
- # source://thor//lib/thor/error.rb#31
4226
+ # source://thor//lib/thor/error.rb#28
3708
4227
  def initialize(error); end
3709
4228
 
3710
- # source://thor//lib/thor/error.rb#35
4229
+ # source://thor//lib/thor/error.rb#32
3711
4230
  def corrections; end
3712
4231
 
3713
4232
  # Returns the value of attribute error.
3714
4233
  #
3715
- # source://thor//lib/thor/error.rb#29
4234
+ # source://thor//lib/thor/error.rb#26
3716
4235
  def error; end
3717
4236
 
3718
- # source://thor//lib/thor/error.rb#39
4237
+ # source://thor//lib/thor/error.rb#36
3719
4238
  def spell_checker; end
3720
4239
  end
3721
4240
 
3722
- # source://thor//lib/thor/error.rb#58
4241
+ # source://thor//lib/thor/error.rb#55
3723
4242
  Thor::UndefinedTaskError = Thor::UndefinedCommandError
3724
4243
 
3725
- # source://thor//lib/thor/error.rb#68
4244
+ # source://thor//lib/thor/error.rb#65
3726
4245
  class Thor::UnknownArgumentError < ::Thor::Error
3727
- include ::DidYouMean::Correctable
4246
+ include ::Thor::Correctable
3728
4247
 
3729
4248
  # @return [UnknownArgumentError] a new instance of UnknownArgumentError
3730
4249
  #
3731
- # source://thor//lib/thor/error.rb#88
4250
+ # source://thor//lib/thor/error.rb#85
3732
4251
  def initialize(switches, unknown); end
3733
4252
 
3734
4253
  # Returns the value of attribute switches.
3735
4254
  #
3736
- # source://thor//lib/thor/error.rb#86
4255
+ # source://thor//lib/thor/error.rb#83
3737
4256
  def switches; end
3738
4257
 
3739
4258
  # Returns the value of attribute unknown.
3740
4259
  #
3741
- # source://thor//lib/thor/error.rb#86
4260
+ # source://thor//lib/thor/error.rb#83
3742
4261
  def unknown; end
3743
4262
  end
3744
4263
 
3745
- # source://thor//lib/thor/error.rb#69
4264
+ # source://thor//lib/thor/error.rb#66
3746
4265
  class Thor::UnknownArgumentError::SpellChecker
3747
4266
  # @return [SpellChecker] a new instance of SpellChecker
3748
4267
  #
3749
- # source://thor//lib/thor/error.rb#72
4268
+ # source://thor//lib/thor/error.rb#69
3750
4269
  def initialize(error); end
3751
4270
 
3752
- # source://thor//lib/thor/error.rb#76
4271
+ # source://thor//lib/thor/error.rb#73
3753
4272
  def corrections; end
3754
4273
 
3755
4274
  # Returns the value of attribute error.
3756
4275
  #
3757
- # source://thor//lib/thor/error.rb#70
4276
+ # source://thor//lib/thor/error.rb#67
3758
4277
  def error; end
3759
4278
 
3760
- # source://thor//lib/thor/error.rb#81
4279
+ # source://thor//lib/thor/error.rb#78
3761
4280
  def spell_checker; end
3762
4281
  end
3763
4282
 
@@ -3798,7 +4317,7 @@ module Thor::Util
3798
4317
  # ==== Returns
3799
4318
  # String
3800
4319
  #
3801
- # source://thor//lib/thor/util.rb#263
4320
+ # source://thor//lib/thor/util.rb#264
3802
4321
  def escape_globs(path); end
3803
4322
 
3804
4323
  # Returns a string that has had any HTML characters escaped.
@@ -3813,7 +4332,7 @@ module Thor::Util
3813
4332
  # ==== Returns
3814
4333
  # String
3815
4334
  #
3816
- # source://thor//lib/thor/util.rb#279
4335
+ # source://thor//lib/thor/util.rb#280
3817
4336
  def escape_html(string); end
3818
4337
 
3819
4338
  # Receives a namespace and search for it in the Thor::Base subclasses.
@@ -3871,18 +4390,18 @@ module Thor::Util
3871
4390
  # ==== Parameters
3872
4391
  # namespace<String>
3873
4392
  #
3874
- # source://thor//lib/thor/util.rb#131
4393
+ # source://thor//lib/thor/util.rb#148
3875
4394
  def find_class_and_task_by_namespace(namespace, fallback = T.unsafe(nil)); end
3876
4395
 
3877
4396
  # Where to look for Thor files.
3878
4397
  #
3879
- # source://thor//lib/thor/util.rb#212
4398
+ # source://thor//lib/thor/util.rb#213
3880
4399
  def globs_for(path); end
3881
4400
 
3882
4401
  # Receives a path and load the thor file in the path. The file is evaluated
3883
4402
  # inside the sandbox to avoid namespacing conflicts.
3884
4403
  #
3885
- # source://thor//lib/thor/util.rb#152
4404
+ # source://thor//lib/thor/util.rb#153
3886
4405
  def load_thorfile(path, content = T.unsafe(nil), debug = T.unsafe(nil)); end
3887
4406
 
3888
4407
  # Receives a constant and converts it to a Thor namespace. Since Thor
@@ -3917,7 +4436,7 @@ module Thor::Util
3917
4436
  # Return the path to the ruby interpreter taking into account multiple
3918
4437
  # installations and windows extensions.
3919
4438
  #
3920
- # source://thor//lib/thor/util.rb#220
4439
+ # source://thor//lib/thor/util.rb#221
3921
4440
  def ruby_command; end
3922
4441
 
3923
4442
  # Receives a string and convert it to snake case. SnakeCase returns snake_case.
@@ -3938,7 +4457,7 @@ module Thor::Util
3938
4457
 
3939
4458
  # Returns the root where thor files are located, depending on the OS.
3940
4459
  #
3941
- # source://thor//lib/thor/util.rb#191
4460
+ # source://thor//lib/thor/util.rb#192
3942
4461
  def thor_root; end
3943
4462
 
3944
4463
  # Returns the files in the thor root. On Windows thor_root will be something
@@ -3948,10 +4467,10 @@ module Thor::Util
3948
4467
  #
3949
4468
  # If we don't #gsub the \ character, Dir.glob will fail.
3950
4469
  #
3951
- # source://thor//lib/thor/util.rb#202
4470
+ # source://thor//lib/thor/util.rb#203
3952
4471
  def thor_root_glob; end
3953
4472
 
3954
- # source://thor//lib/thor/util.rb#167
4473
+ # source://thor//lib/thor/util.rb#168
3955
4474
  def user_home; end
3956
4475
  end
3957
4476
  end