Асинхронный ZLE (Zsh Line Editor)

Я изменил свой zsh, чтобы всегда угадывать / autosuggest то, что я пытаюсь напечатать, изменив self-insert запустить guess функция, которая интерпретирует и модифицирует $BUFFER после запуска по умолчанию zle .self-insert,

Проблема в том guess выполнение функции может занять некоторое время, что означает, что вставка строки ввода занимает некоторое время (так как символы появляются один за другим с задержкой до 1 секунды между каждым), а на медленной машине задержка будет весьма заметна даже когда я набираю команду.

То, что я хотел бы сделать, это прекратить это guess функционирует, как только пользователь вводит другую клавишу, как оригинал guess основываясь на предыдущем $BUFFER больше не актуально в любом случае. Таким образом, ввод с клавиатуры не будет заблокирован guess функция и guess функция обновит $BUFFER только когда ему удается завершить, прежде чем вводится другой ключ.

Любое предложение о том, как это сделать, было бы очень полезно. Спасибо.

0 ответов

Другие вопросы по тегам