diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-13 09:53:59 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-13 09:53:59 +0000 |
commit | 2ef449a71d2f681a85453e68b10d3af97dec14ff (patch) | |
tree | 873c17f1c1bdea725d5b13b713a77e68cf9e331b /Completion/Core/_oldlist | |
parent | afb7b41cdc21ff64949f485fd24b2012469e6fb6 (diff) | |
download | zsh-2ef449a71d2f681a85453e68b10d3af97dec14ff.tar.gz zsh-2ef449a71d2f681a85453e68b10d3af97dec14ff.tar.xz zsh-2ef449a71d2f681a85453e68b10d3af97dec14ff.zip |
zsh-workers/7797
Diffstat (limited to 'Completion/Core/_oldlist')
-rw-r--r-- | Completion/Core/_oldlist | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/Completion/Core/_oldlist b/Completion/Core/_oldlist index bdf12f90c..2efc08119 100644 --- a/Completion/Core/_oldlist +++ b/Completion/Core/_oldlist @@ -27,13 +27,23 @@ fi # If this is a completion widget, and we have a completion inserted already, # and the compconfig key oldlist_menu is not never, then we cycle through the # existing list (even if it was generated by another widget). -if [[ -n $compstate[old_insert] && $WIDGET = *complete(|-prefix|-word) && - $compconfig[oldlist_menu] != never ]]; then + +if [[ $compconfig[oldlist_menu] = verbose && + $LASTWIDGET = _verbose_list && $WIDGET != _verbose_list && + -z $compstate[old_insert] && + -n $compstate[old_list] ]]; then compstate[old_list]=keep - if [[ $WIDGET = *reverse* ]]; then - compstate[insert]=$(( compstate[old_insert] - 1 )) +elif [[ $WIDGET = *complete(|-prefix|-word) && + $compconfig[oldlist_menu] != (never|verbose) ]]; then + if [[ -n $compstate[old_insert] ]]; then + compstate[old_list]=keep + if [[ $WIDGET = *reverse* ]]; then + compstate[insert]=$(( compstate[old_insert] - 1 )) + else + compstate[insert]=$(( compstate[old_insert] + 1 )) + fi else - compstate[insert]=$(( compstate[old_insert] + 1 )) + return 1 fi return 0 fi |