可以将python hint_toolkit下的提示函数与默认字符串一起使用,该默认字符串会出现在提示中,就像用户已键入它一样。
defaultWord = u"cat"
prompt( u"Enter a word", completer=SomeCompleter, default=defaultWord)
我发现,即使default
已设置,完成菜单也不会像用户实际键入的那样打开。您必须至少按下一个键才能这样做。
有没有一种方法可以在用户按下按键之前强制显示完成菜单?
如果您使用的是PromptSession
,则可以将pre_run
参数用于PromptSession.prompt
:
from prompt_toolkit import PromptSession
from prompt_toolkit.completion import WordCompleter
completer = WordCompleter([u"Hello", u"World"])
session = PromptSession(u"> ", completer=completer)
session.prompt(pre_run=session.default_buffer.start_completion)