mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 18:15:28 +03:00
now command aliases auto added to autocomlete history for their use
This commit is contained in:
@@ -122,10 +122,16 @@ class AppNonStandardHandlers(AppPrinters):
|
||||
for router_entity in self._registered_routers:
|
||||
for command_handler in router_entity.get_command_handlers():
|
||||
handled_command_trigger = command_handler.get_handled_command().get_trigger()
|
||||
handled_command_aliases = command_handler.get_handled_command().get_aliases()
|
||||
if handled_command_trigger.lower() == command.get_trigger().lower() and self._ignore_command_register:
|
||||
return False
|
||||
elif handled_command_trigger == command.get_trigger():
|
||||
return False
|
||||
elif handled_command_aliases:
|
||||
if command.get_trigger().lower() in [x.lower() for x in handled_command_aliases] and self._ignore_command_register:
|
||||
return False
|
||||
elif command.get_trigger() in handled_command_trigger:
|
||||
return False
|
||||
if isinstance(self._dividing_line, StaticDividingLine):
|
||||
self._print_func(self._dividing_line.get_full_line())
|
||||
self._unknown_command_handler(command)
|
||||
@@ -188,6 +194,7 @@ class AppSetups(AppValidators, AppPrinters):
|
||||
all_triggers: list[str] = []
|
||||
for router_entity in self._registered_routers:
|
||||
all_triggers.extend(router_entity.get_triggers())
|
||||
all_triggers.extend(router_entity.get_aliases())
|
||||
self._autocompleter.initial_setup(all_triggers)
|
||||
|
||||
self._print_func(self._initial_message)
|
||||
|
||||
@@ -54,6 +54,14 @@ class Router:
|
||||
for command_handler in self._command_handlers:
|
||||
handle_command = command_handler.get_handled_command()
|
||||
if input_command_name.lower() == handle_command.get_trigger().lower():
|
||||
self._validate_input_command(input_command_flags, command_handler)
|
||||
elif handle_command.get_aliases():
|
||||
if input_command_name.lower() in handle_command.get_aliases():
|
||||
self._validate_input_command(input_command_flags, command_handler)
|
||||
|
||||
|
||||
def _validate_input_command(self, input_command_flags: InputFlags, command_handler: CommandHandler):
|
||||
handle_command = command_handler.get_handled_command()
|
||||
if handle_command.get_registered_flags().get_flags():
|
||||
if input_command_flags.get_flags():
|
||||
if self._validate_input_flags(handle_command, input_command_flags):
|
||||
@@ -117,6 +125,14 @@ class Router:
|
||||
return all_triggers
|
||||
|
||||
|
||||
def get_aliases(self):
|
||||
all_aliases: list[str] = []
|
||||
for command_handler in self._command_handlers:
|
||||
if command_handler.get_handled_command().get_aliases():
|
||||
all_aliases.extend(command_handler.get_handled_command().get_aliases())
|
||||
return all_aliases
|
||||
|
||||
|
||||
def get_command_handlers(self) -> CommandHandlers:
|
||||
return self._command_handlers
|
||||
|
||||
|
||||
@@ -14,14 +14,14 @@ settings_router: Router = Router()
|
||||
console = Console()
|
||||
|
||||
|
||||
@work_router.command(Command('get', 'Get Help'))
|
||||
@work_router.command(Command('get', 'Get Help', aliases=['help', 'get_help']))
|
||||
def command_help():
|
||||
help_command()
|
||||
|
||||
|
||||
@work_router.command(Command('start', 'Start Solving', Flags(PredeterminedFlags.HOST, PredeterminedFlags.PORT)))
|
||||
@work_router.command(Command('start', 'Start Solving', Flags(PredeterminedFlags.HOST, PredeterminedFlags.PORT), aliases=['starting']))
|
||||
def command_start_solving(args: InputFlags):
|
||||
print(args.get_flag('test'))
|
||||
print(args.get_flag('host'))
|
||||
|
||||
|
||||
@settings_router.command(Command('update', 'Update WordMath'))
|
||||
|
||||
Reference in New Issue
Block a user