首页 > 解决方案 > Python Prompt Toolkit:如何始终打开/显示自动完成程序?

问题描述

我曾经prompt_toolkit向用户询问一些输入:

from prompt_toolkit import prompt
from prompt_toolkit.completion import WordCompleter

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

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

例子

标签: pythonprompt-toolkit

解决方案


您可以使用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)

推荐阅读