如何让 prompt_toolkit 提示在按下某个键之前提供完成?
How to make the prompt_toolkit prompt provide completions before a key is pressed?
python prompt_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)
python prompt_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)