graph LR
argcomplete_finders__patch_argument_parser["argcomplete.finders._patch_argument_parser"]
argcomplete_packages__argparse__parse_known_args["argcomplete.packages._argparse._parse_known_args"]
argcomplete_packages__argparse_consume_positionals["argcomplete.packages._argparse.consume_positionals"]
argcomplete_packages__argparse_consume_optional["argcomplete.packages._argparse.consume_optional"]
argcomplete_packages__argparse_take_action["argcomplete.packages._argparse.take_action"]
argcomplete_packages__argparse_action_is_open["argcomplete.packages._argparse.action_is_open"]
argcomplete_packages__argparse_action_is_greedy["argcomplete.packages._argparse.action_is_greedy"]
argcomplete_packages__argparse_action_is_satisfied["argcomplete.packages._argparse.action_is_satisfied"]
argcomplete_finders__patch_argument_parser -- "enables" --> argcomplete_packages__argparse__parse_known_args
argcomplete_packages__argparse__parse_known_args -- "delegates to" --> argcomplete_packages__argparse_consume_positionals
argcomplete_packages__argparse__parse_known_args -- "delegates to" --> argcomplete_packages__argparse_consume_optional
argcomplete_packages__argparse_consume_positionals -- "calls" --> argcomplete_packages__argparse_take_action
argcomplete_packages__argparse_consume_optional -- "calls" --> argcomplete_packages__argparse_take_action
argcomplete_packages__argparse_consume_optional -- "uses" --> argcomplete_packages__argparse_action_is_open
argcomplete_packages__argparse_action_is_greedy -- "calls" --> argcomplete_packages__argparse_action_is_satisfied
The ArgumentParser Adaptation subsystem is responsible for intercepting and modifying the standard argparse module's behavior to enable argcomplete to introspect argument parsers and simulate parsing without executing the full application logic. This allows for safe and efficient completion generation.
This is the orchestrator of the adaptation, responsible for dynamically modifying the argparse.ArgumentParser class and its related action classes. It embodies the "Interception Pattern" by replacing or wrapping original argparse methods.
Related Classes/Methods:
The simulated core parsing method. It acts as the entry point for argcomplete's "dry run" parsing, allowing introspection of the parser's state without side effects.
Related Classes/Methods:
Handles the simulated consumption of positional arguments during the dry run.
Related Classes/Methods:
Handles the simulated consumption of optional arguments during the dry run.
Related Classes/Methods:
Simulates the effect of an argparse action being "taken" by updating internal state, crucially without executing the user-defined action code.
Related Classes/Methods:
An introspection method to determine if an argparse action is still expecting arguments.
Related Classes/Methods:
An introspection method to check if an argparse action consumes multiple arguments.
Related Classes/Methods:
An introspection method to determine if an argparse action has received all its required arguments.
Related Classes/Methods: