huge refactor of the entire codebase, with the goal of improving maintainability, readability, and extensibility. This commit includes changes to almost every file in the project, including:
This commit is contained in:
+16
-6
@@ -90,10 +90,10 @@ class SharedArgs:
|
||||
description="http parser",
|
||||
)
|
||||
|
||||
PROVIDER = CmdletArg(
|
||||
name="provider",
|
||||
PLUGIN = CmdletArg(
|
||||
name="plugin",
|
||||
type="string",
|
||||
description="selects provider",
|
||||
description="selects plugin",
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
@@ -284,7 +284,13 @@ class Cmdlet:
|
||||
return {f"-{arg_name}", f"--{arg_name}"}
|
||||
|
||||
def build_flag_registry(self) -> Dict[str, set[str]]:
|
||||
return {arg.name: self.get_flags(arg.name) for arg in self.arg}
|
||||
registry: Dict[str, set[str]] = {}
|
||||
for arg in self.arg:
|
||||
try:
|
||||
registry[arg.name] = {str(flag).lower() for flag in arg.to_flags()}
|
||||
except Exception:
|
||||
registry[arg.name] = {flag.lower() for flag in self.get_flags(arg.name)}
|
||||
return registry
|
||||
|
||||
|
||||
def parse_cmdlet_args(
|
||||
@@ -335,8 +341,12 @@ def parse_cmdlet_args(
|
||||
positional_args.append(spec)
|
||||
|
||||
arg_spec_map[canonical_key] = canonical_name
|
||||
arg_spec_map[f"-{canonical_name}".lower()] = canonical_name
|
||||
arg_spec_map[f"--{canonical_name}".lower()] = canonical_name
|
||||
try:
|
||||
for flag in spec.to_flags():
|
||||
arg_spec_map[str(flag).lower()] = canonical_name
|
||||
except Exception:
|
||||
arg_spec_map[f"-{canonical_name}".lower()] = canonical_name
|
||||
arg_spec_map[f"--{canonical_name}".lower()] = canonical_name
|
||||
|
||||
i = 0
|
||||
positional_index = 0
|
||||
|
||||
Reference in New Issue
Block a user