Есть ли способ, используя модули cmd
или readline
, получить интеллектуальное завершение при чтении входной строки, которая соответствует только определенному набору значений?
Например:
read_from_list(prompt"Name:", allowed_values=["Adam", "Bert", "Cesar"])
создаст подсказку
Name:
Если я введу
Ad
и нажмите «Завершить» (обычно с помощью клавиши «Tab»), я получаю
Adam
В качестве бонуса нельзя даже ввести строку, отличную от Adam
, Bert
или Cesar
вместе с набором всех их префиксов.
Обновление: по сути, я хочу Python 3 вариант Emacs completing-read
: https://www.gnu.org/software/emacs/manual/html_node/elisp/Minibuffer-Completion.html