Я пытаюсь создать приложение командной строки / терминала, используя prompt_toolkit , что должно сделать следующее:
- У меня есть список пар (title, id), который должен быть большим, чтобы уместиться на одном экране, но достаточно маленьким, чтобы уместиться в памяти. Допустим, около 1000 записей.
- Чтобы выбрать элемент, я начинаю печатать. При наборе - например, «собака» - список фильтруется только для тех записей, в заголовке которых есть «собака».
- Если список достаточно мал (но не пуст), я бы хотел использовать стрелку ключи для выбора записи.
- Я хочу, чтобы идентификатор, связанный с этим заголовком.
Я новичок в prompt_toolkit и подхожу к проблеме с обоих концов:
- Использование обычного
prompt()
с автозаполнением: я попытался использовать пользовательский метод завершения для фильтрации своего списка, но не смог его отобразить. - Я проверил примеры виджетов / полноэкранного режима, но документация довольно ограничена. Например, я нашел
SearchToolbar
, но не смог понять, как он взаимодействует с другими виджетами. - Я не нашел ни одного примера того, как отобразить список для выбора элемента. Есть более сложные примеры, поэтому я ожидал, что это возможно, но потерялся.
Может кто-нибудь указать мне на пример, который решает что-то вроде моего варианта использования или дать мне отправную точку, как подходить это вообще?