massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / click / click / core.pyi
1 from typing import Any, Callable, ContextManager, Iterable, Mapping, NoReturn, Optional, Sequence, Tuple, TypeVar, Union
2
3 from click.formatting import HelpFormatter
4 from click.parser import OptionParser
5
6 _CC = TypeVar("_CC", bound=Callable[[], Any])
7
8 def invoke_param_callback(
9     callback: Callable[[Context, Parameter, str | None], Any], ctx: Context, param: Parameter, value: str | None
10 ) -> Any: ...
11 def augment_usage_errors(ctx: Context, param: Parameter | None = ...) -> ContextManager[None]: ...
12 def iter_params_for_processing(
13     invocation_order: Sequence[Parameter], declaration_order: Iterable[Parameter]
14 ) -> Iterable[Parameter]: ...
15
16 class Context:
17     parent: Context | None
18     command: Command
19     info_name: str | None
20     params: dict[Any, Any]
21     args: list[str]
22     protected_args: list[str]
23     obj: Any
24     default_map: Mapping[str, Any] | None
25     invoked_subcommand: str | None
26     terminal_width: int | None
27     max_content_width: int | None
28     allow_extra_args: bool
29     allow_interspersed_args: bool
30     ignore_unknown_options: bool
31     help_option_names: list[str]
32     token_normalize_func: Callable[[str], str] | None
33     resilient_parsing: bool
34     auto_envvar_prefix: str | None
35     color: bool | None
36     _meta: dict[str, Any]
37     _close_callbacks: list[Any]
38     _depth: int
39     def __init__(
40         self,
41         command: Command,
42         parent: Context | None = ...,
43         info_name: str | None = ...,
44         obj: Any | None = ...,
45         auto_envvar_prefix: str | None = ...,
46         default_map: Mapping[str, Any] | None = ...,
47         terminal_width: int | None = ...,
48         max_content_width: int | None = ...,
49         resilient_parsing: bool = ...,
50         allow_extra_args: bool | None = ...,
51         allow_interspersed_args: bool | None = ...,
52         ignore_unknown_options: bool | None = ...,
53         help_option_names: list[str] | None = ...,
54         token_normalize_func: Callable[[str], str] | None = ...,
55         color: bool | None = ...,
56     ) -> None: ...
57     @property
58     def meta(self) -> dict[str, Any]: ...
59     @property
60     def command_path(self) -> str: ...
61     def scope(self, cleanup: bool = ...) -> ContextManager[Context]: ...
62     def make_formatter(self) -> HelpFormatter: ...
63     def call_on_close(self, f: _CC) -> _CC: ...
64     def close(self) -> None: ...
65     def find_root(self) -> Context: ...
66     def find_object(self, object_type: type) -> Any: ...
67     def ensure_object(self, object_type: type) -> Any: ...
68     def lookup_default(self, name: str) -> Any: ...
69     def fail(self, message: str) -> NoReturn: ...
70     def abort(self) -> NoReturn: ...
71     def exit(self, code: int | str = ...) -> NoReturn: ...
72     def get_usage(self) -> str: ...
73     def get_help(self) -> str: ...
74     def invoke(self, callback: Command | Callable[..., Any], *args: Any, **kwargs: Any) -> Any: ...
75     def forward(self, callback: Command | Callable[..., Any], *args: Any, **kwargs: Any) -> Any: ...
76
77 class BaseCommand:
78     allow_extra_args: bool
79     allow_interspersed_args: bool
80     ignore_unknown_options: bool
81     name: str
82     context_settings: dict[Any, Any]
83     def __init__(self, name: str, context_settings: dict[Any, Any] | None = ...) -> None: ...
84     def get_usage(self, ctx: Context) -> str: ...
85     def get_help(self, ctx: Context) -> str: ...
86     def make_context(self, info_name: str, args: list[str], parent: Context | None = ..., **extra: Any) -> Context: ...
87     def parse_args(self, ctx: Context, args: list[str]) -> list[str]: ...
88     def invoke(self, ctx: Context) -> Any: ...
89     def main(
90         self,
91         args: list[str] | None = ...,
92         prog_name: str | None = ...,
93         complete_var: str | None = ...,
94         standalone_mode: bool = ...,
95         **extra: Any,
96     ) -> Any: ...
97     def __call__(self, *args: Any, **kwargs: Any) -> Any: ...
98
99 class Command(BaseCommand):
100     callback: Callable[..., Any] | None
101     params: list[Parameter]
102     help: str | None
103     epilog: str | None
104     short_help: str | None
105     options_metavar: str
106     add_help_option: bool
107     no_args_is_help: bool
108     hidden: bool
109     deprecated: bool
110     def __init__(
111         self,
112         name: str,
113         context_settings: dict[Any, Any] | None = ...,
114         callback: Callable[..., Any] | None = ...,
115         params: list[Parameter] | None = ...,
116         help: str | None = ...,
117         epilog: str | None = ...,
118         short_help: str | None = ...,
119         options_metavar: str = ...,
120         add_help_option: bool = ...,
121         no_args_is_help: bool = ...,
122         hidden: bool = ...,
123         deprecated: bool = ...,
124     ) -> None: ...
125     def get_params(self, ctx: Context) -> list[Parameter]: ...
126     def format_usage(self, ctx: Context, formatter: HelpFormatter) -> None: ...
127     def collect_usage_pieces(self, ctx: Context) -> list[str]: ...
128     def get_help_option_names(self, ctx: Context) -> set[str]: ...
129     def get_help_option(self, ctx: Context) -> Option | None: ...
130     def make_parser(self, ctx: Context) -> OptionParser: ...
131     def get_short_help_str(self, limit: int = ...) -> str: ...
132     def format_help(self, ctx: Context, formatter: HelpFormatter) -> None: ...
133     def format_help_text(self, ctx: Context, formatter: HelpFormatter) -> None: ...
134     def format_options(self, ctx: Context, formatter: HelpFormatter) -> None: ...
135     def format_epilog(self, ctx: Context, formatter: HelpFormatter) -> None: ...
136
137 _T = TypeVar("_T")
138 _F = TypeVar("_F", bound=Callable[..., Any])
139
140 class MultiCommand(Command):
141     no_args_is_help: bool
142     invoke_without_command: bool
143     subcommand_metavar: str
144     chain: bool
145     result_callback: Callable[..., Any]
146     def __init__(
147         self,
148         name: str | None = ...,
149         invoke_without_command: bool = ...,
150         no_args_is_help: bool | None = ...,
151         subcommand_metavar: str | None = ...,
152         chain: bool = ...,
153         result_callback: Callable[..., Any] | None = ...,
154         **attrs: Any,
155     ) -> None: ...
156     def resultcallback(self, replace: bool = ...) -> Callable[[_F], _F]: ...
157     def format_commands(self, ctx: Context, formatter: HelpFormatter) -> None: ...
158     def resolve_command(self, ctx: Context, args: list[str]) -> tuple[str, Command, list[str]]: ...
159     def get_command(self, ctx: Context, cmd_name: str) -> Command | None: ...
160     def list_commands(self, ctx: Context) -> Iterable[str]: ...
161
162 class Group(MultiCommand):
163     commands: dict[str, Command]
164     def __init__(self, name: str | None = ..., commands: dict[str, Command] | None = ..., **attrs: Any) -> None: ...
165     def add_command(self, cmd: Command, name: str | None = ...) -> None: ...
166     def command(self, *args: Any, **kwargs: Any) -> Callable[[Callable[..., Any]], Command]: ...
167     def group(self, *args: Any, **kwargs: Any) -> Callable[[Callable[..., Any]], Group]: ...
168
169 class CommandCollection(MultiCommand):
170     sources: list[MultiCommand]
171     def __init__(self, name: str | None = ..., sources: list[MultiCommand] | None = ..., **attrs: Any) -> None: ...
172     def add_source(self, multi_cmd: MultiCommand) -> None: ...
173
174 class _ParamType:
175     name: str
176     is_composite: bool
177     envvar_list_splitter: str | None
178     def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> Any: ...
179     def get_metavar(self, param: Parameter) -> str: ...
180     def get_missing_message(self, param: Parameter) -> str: ...
181     def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> Any: ...
182     def split_envvar_value(self, rv: str) -> list[str]: ...
183     def fail(self, message: str, param: Parameter | None = ..., ctx: Context | None = ...) -> NoReturn: ...
184
185 # This type is here to resolve https://github.com/python/mypy/issues/5275
186 _ConvertibleType = Union[
187     type, _ParamType, Tuple[Union[type, _ParamType], ...], Callable[[str], Any], Callable[[Optional[str]], Any]
188 ]
189
190 class Parameter:
191     param_type_name: str
192     name: str
193     opts: list[str]
194     secondary_opts: list[str]
195     type: _ParamType
196     required: bool
197     callback: Callable[[Context, Parameter, str], Any] | None
198     nargs: int
199     multiple: bool
200     expose_value: bool
201     default: Any
202     is_eager: bool
203     metavar: str | None
204     envvar: str | list[str] | None
205     def __init__(
206         self,
207         param_decls: Iterable[str] | None = ...,
208         type: _ConvertibleType | None = ...,
209         required: bool = ...,
210         default: Any | None = ...,
211         callback: Callable[[Context, Parameter, str], Any] | None = ...,
212         nargs: int | None = ...,
213         metavar: str | None = ...,
214         expose_value: bool = ...,
215         is_eager: bool = ...,
216         envvar: str | list[str] | None = ...,
217     ) -> None: ...
218     @property
219     def human_readable_name(self) -> str: ...
220     def make_metavar(self) -> str: ...
221     def get_default(self, ctx: Context) -> Any: ...
222     def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: ...
223     def consume_value(self, ctx: Context, opts: dict[str, Any]) -> Any: ...
224     def type_cast_value(self, ctx: Context, value: Any) -> Any: ...
225     def process_value(self, ctx: Context, value: Any) -> Any: ...
226     def value_is_missing(self, value: Any) -> bool: ...
227     def full_process_value(self, ctx: Context, value: Any) -> Any: ...
228     def resolve_envvar_value(self, ctx: Context) -> str: ...
229     def value_from_envvar(self, ctx: Context) -> str | list[str]: ...
230     def handle_parse_result(self, ctx: Context, opts: dict[str, Any], args: list[str]) -> tuple[Any, list[str]]: ...
231     def get_help_record(self, ctx: Context) -> tuple[str, str]: ...
232     def get_usage_pieces(self, ctx: Context) -> list[str]: ...
233     def get_error_hint(self, ctx: Context) -> str: ...
234
235 class Option(Parameter):
236     prompt: str  # sic
237     confirmation_prompt: bool
238     hide_input: bool
239     is_flag: bool
240     flag_value: Any
241     is_bool_flag: bool
242     count: bool
243     multiple: bool
244     allow_from_autoenv: bool
245     help: str | None
246     hidden: bool
247     show_default: bool
248     show_choices: bool
249     show_envvar: bool
250     def __init__(
251         self,
252         param_decls: Iterable[str] | None = ...,
253         show_default: bool = ...,
254         prompt: bool | str = ...,
255         confirmation_prompt: bool = ...,
256         hide_input: bool = ...,
257         is_flag: bool | None = ...,
258         flag_value: Any | None = ...,
259         multiple: bool = ...,
260         count: bool = ...,
261         allow_from_autoenv: bool = ...,
262         type: _ConvertibleType | None = ...,
263         help: str | None = ...,
264         hidden: bool = ...,
265         show_choices: bool = ...,
266         show_envvar: bool = ...,
267         **attrs: Any,
268     ) -> None: ...
269     def prompt_for_value(self, ctx: Context) -> Any: ...
270
271 class Argument(Parameter):
272     def __init__(self, param_decls: Iterable[str] | None = ..., required: bool | None = ..., **attrs: Any) -> None: ...