Асинхронный ZLE (Zsh Line Editor)
Я изменил свой zsh, чтобы всегда угадывать / autosuggest то, что я пытаюсь напечатать, изменив self-insert
запустить guess
функция, которая интерпретирует и модифицирует $BUFFER
после запуска по умолчанию zle .self-insert
,
Проблема в том guess
выполнение функции может занять некоторое время, что означает, что вставка строки ввода занимает некоторое время (так как символы появляются один за другим с задержкой до 1 секунды между каждым), а на медленной машине задержка будет весьма заметна даже когда я набираю команду.
То, что я хотел бы сделать, это прекратить это guess
функционирует, как только пользователь вводит другую клавишу, как оригинал guess
основываясь на предыдущем $BUFFER
больше не актуально в любом случае. Таким образом, ввод с клавиатуры не будет заблокирован guess
функция и guess
функция обновит $BUFFER
только когда ему удается завершить, прежде чем вводится другой ключ.
Любое предложение о том, как это сделать, было бы очень полезно. Спасибо.