Artem Chuprina wrote:
s> когда я нажимаю на таб:
s> если есть что дописать --- то дописать и показать возможные варианты.
s> если дописать нечего --- показать возможные варианты.
s> если дописать нечего и список уже показан --- включить menu-select.
Ну, общий-то принцип понятен - надо не перевешивать
биндинги, а вешать биндинг на функцию, аккуратно запоминающую
состояние. И не забывающую его своевременно сбросить, главное.
Подозреваю, что она должна смотреть на $LASTWIDGET.
не спорю. (:
но я пока плохо понимаю как это сделать одной функцией.
о! придумал (:
zle -N my-tab
bindkey '\t' my-tab
my-tab(){
if [[ $LASTWIDGET == $WIDGET ]]; then
zle menu-select
else
zle expand-or-complete-prefix
fi
}
это то, что хочется. только всё равно сегфолтится в определённые моменты.
ls <TAB> -- всё ok. ещё раз таб --- тоже всё ok
ls /tm<TAB> -- всё ok. ещё раз таб --- сегфолт.
--
sergio.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]