Python Prompt Toolkit:如何始终打开/显示自动完成器?

问题描述

我使用prompt_toolkit用户询问一些输入内容

from prompt_toolkit import prompt
from prompt_toolkit.completion import WordCompleter

prompt('Input: ',completer=WordCompleter(['abc','def','xyz']))

是否可以在没有用户干预的情况下自动显示建议(没有Tab键)?

example

解决方法

您可以使用 pre_run 钩子来提示它。

from prompt_toolkit.application.current import get_app

def prompt_autocomplete():
    app = get_app()
    b = app.current_buffer
    if b.complete_state:
        b.complete_next()
    else:
        b.start_completion(select_first=False)

prompt(pre_run=prompt_autocomplete)