Extract global args
This commit is contained in:
parent
131a5421a5
commit
4b358fc713
19
Library/Homebrew/cli/args.rbi
Normal file
19
Library/Homebrew/cli/args.rbi
Normal file
@ -0,0 +1,19 @@
|
||||
# typed: strict
|
||||
|
||||
# This file contains global args as defined in `Homebrew::CLI::Parser.global_options`
|
||||
# `Command`-specific args are defined in the commands themselves, with type signatures
|
||||
# generated by the `Tapioca::Compilers::Args` compiler.
|
||||
|
||||
class Homebrew::CLI::Args
|
||||
sig { returns(T::Boolean) }
|
||||
def debug?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def help?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def quiet?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def verbose?; end
|
||||
end
|
||||
@ -146,18 +146,12 @@ class Homebrew::CLI::Args
|
||||
sig { returns(T::Boolean) }
|
||||
def custom_remote?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def d?; end
|
||||
|
||||
sig { returns(T.nilable(String)) }
|
||||
def days; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def debian?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def debug?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def debug_symbols?; end
|
||||
|
||||
@ -317,12 +311,6 @@ class Homebrew::CLI::Args
|
||||
sig { returns(T.nilable(T::Array[String])) }
|
||||
def groups; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def h?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def help?; end
|
||||
|
||||
sig { returns(T.nilable(T::Array[String])) }
|
||||
def hide; end
|
||||
|
||||
@ -623,18 +611,12 @@ class Homebrew::CLI::Args
|
||||
sig { returns(T.nilable(String)) }
|
||||
def python_package_name; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def q?; end
|
||||
|
||||
sig { returns(T.nilable(String)) }
|
||||
def qlplugindir; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def quarantine?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def quiet?; end
|
||||
|
||||
sig { returns(T.nilable(String)) }
|
||||
def r; end
|
||||
|
||||
@ -824,15 +806,9 @@ class Homebrew::CLI::Args
|
||||
sig { returns(T.nilable(T::Array[String])) }
|
||||
def user; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def v?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def variations?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def verbose?; end
|
||||
|
||||
sig { returns(T.nilable(String)) }
|
||||
def version; end
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ module Tapioca
|
||||
next if NON_PARSER_ARGS_METHODS.include?(args_method_name)
|
||||
|
||||
parser = Homebrew.method(args_method_name).call
|
||||
create_args_methods(klass, parser, include_global: true)
|
||||
create_args_methods(klass, parser)
|
||||
end
|
||||
end
|
||||
else
|
||||
@ -79,12 +79,12 @@ module Tapioca
|
||||
|
||||
private
|
||||
|
||||
sig { params(klass: RBI::Scope, parser: Homebrew::CLI::Parser, include_global: T::Boolean).void }
|
||||
def create_args_methods(klass, parser, include_global: false)
|
||||
sig { params(klass: RBI::Scope, parser: Homebrew::CLI::Parser).void }
|
||||
def create_args_methods(klass, parser)
|
||||
comma_array_methods = comma_arrays(parser)
|
||||
args_table(parser).each do |method_name, value|
|
||||
method_name_str = method_name.to_s
|
||||
next if GLOBAL_OPTIONS.include?(method_name_str) && !include_global
|
||||
next if GLOBAL_OPTIONS.include?(method_name_str)
|
||||
# some args are used in multiple commands (this is ok as long as they have the same type)
|
||||
next if klass.nodes.any? { T.cast(_1, RBI::Method).name == method_name_str }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user