1

我正在为我的 CLI 使用提示工具包。我面临的问题是当有多个选项时,如果用户按下“输入”,它会执行命令。我想要“输入”的不同行为。当用户按下“enter”时,它应该选择该选项,如果用户再次按下“enter”,那么它应该执行我添加了以下代码的命令

kb = key_binding.KeyBindings()

@kb.add('enter')
def _enter_key(event) -> None:
    buff = event.current_buffer
    if not buff.complete_state:
        named_commands.accept_line(event)
    else:
       named_commands.complete(event)


session = PromptSession(message=cli_command, style=style if colors_enabled else None, complete_while_typing=True)
text = session.prompt(completer=multithread_completer, default=document, pre_run=session.default_buffer.start_completion, key_bindings=kb)
    

但它的作用类似于“tab”,意思是如果选项是“a ab abc”并且用户选择“a”并按“enter”它仍然显示三个选项,我希望它只选择“a”。请让我知道我做错了什么

4

0 回答 0