final work on autocomplete

This commit is contained in:
2025-04-09 23:32:21 +03:00
parent 592d128ef6
commit 8b496aa782
10 changed files with 100 additions and 124 deletions
+3 -7
View File
@@ -1,36 +1,32 @@
from rich.console import Console
from argenta.command import Command
from argenta.command.flag import Flags, InputFlags, Flag
from argenta.command.flag import Flags, InputFlags
from argenta.command.flag.defaults import PredeterminedFlags
from argenta.router import Router
from .handlers_implementation.help_command import help_command
work_router: Router = Router(title='Work points:')
work_router.set_invalid_input_flag_handler(lambda flag: print(f'Invalid input flag: {flag.get_string_entity()} {flag.get_value() if flag.get_value() else ''}'))
settings_router: Router = Router(title='Settings points:')
console = Console()
flag = Flag('test')
@work_router.command(Command('0', 'Get Help'))
def command_help():
help_command()
@work_router.command(Command('S', 'Start Solving', Flags(PredeterminedFlags.HOST, PredeterminedFlags.PORT, flag)))
@work_router.command(Command('S', 'Start Solving', Flags(PredeterminedFlags.HOST, PredeterminedFlags.PORT)))
def command_start_solving(args: InputFlags):
print(args.get_flag('test'))
@settings_router.command(Command('U', 'Update WordMath'))
def command_update():
pass
print('eeeeeee')
+5 -1
View File
@@ -3,15 +3,19 @@ from mock.mock_app.handlers.routers import work_router, settings_router
from argenta.app import App
from argenta.app.defaults import PredeterminedMessages
from argenta.app.dividing_line import DynamicDividingLine
from argenta.app.autocompleter import AutoCompleter
app: App = App(dividing_line=DynamicDividingLine())
autocompleter = AutoCompleter('./mock/.history')
app: App = App(dividing_line=DynamicDividingLine(),
autocompleter=autocompleter)
def main():
app.include_routers(work_router, settings_router)
app.add_message_on_startup(PredeterminedMessages.USAGE)
app.add_message_on_startup(PredeterminedMessages.AUTOCOMPLETE)
app.add_message_on_startup(PredeterminedMessages.HELP + '\n\n')
app.start_polling()