From bb93d135ba484cd423ae71b1686c63ac2c1c654f Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Mon, 6 Dec 1999 11:39:12 +0000 Subject: zsh-workers/8911 --- Completion/Core/_expand | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) (limited to 'Completion/Core/_expand') diff --git a/Completion/Core/_expand b/Completion/Core/_expand index 7598b6f88..471ad370e 100644 --- a/Completion/Core/_expand +++ b/Completion/Core/_expand @@ -84,8 +84,6 @@ fi exp=( "${(@)${(@)${(@q)exp}//\\\\=/=}/#=/\\=}" ) -_setup original expansions all-expansions - # We have expansions, should we menucomplete them? if [[ -z "$menu" ]]; then @@ -95,16 +93,20 @@ if [[ -z "$menu" ]]; then # probably also adding the original string. if [[ -z "$compstate[insert]" ]]; then + _setup all-expansions compadd -U -V all-expansions -Q - "$exp[@]" else - [[ -n "$orig" && "$orig" != *last* ]] && - compadd "$expl[@]" -UQ -V original - "$word" - - compadd -UQ -V _expand - "$exp" - - [[ -n "$orig" && "$orig" = *last* ]] && - compadd "$expl[@]" -UQ -V original - "$word" + if [[ -n "$orig" && "$orig" != *last* ]]; then + _setup original + compadd "$expl[@]" -UQ -V original - "$word" + fi + _setup expansions + compadd -UQ -V expansions - "$exp" + if [[ -n "$orig" && "$orig" = *last* ]]; then + _setup original + compadd "$expl[@]" -UQ -V original - "$word" + fi compstate[insert]=menu fi else @@ -115,24 +117,29 @@ else # Now add the expansion string, probably also adding the original # and/or the string containing all expanded string. - [[ -n "$orig" && "$orig" != *last* ]] && - compadd "$expl[@]" -UQ -V original - "$word" - - [[ $#exp -ne 1 && "$menu" = *last* && "$menu" != *only* ]] && - compadd "$expl2[@]" -UQ -V all-expansions - "$exp" - + if [[ -n "$orig" && "$orig" != *last* ]]; then + _setup original + compadd "$expl[@]" -UQ -V original - "$word" + fi + if [[ $#exp -ne 1 && "$menu" = *last* && "$menu" != *only* ]]; then + _setup all-expansions + compadd "$expl2[@]" -UQ -V all-expansions - "$exp" + fi + _setup expansions if [[ -z "$prompt" ]]; then compadd -UQ $group expansions - "$exp[@]" else compadd -UQ -X "${prompt//\\%o/$word}" \ $group expansions - "$exp[@]" fi - [[ $#exp -ne 1 && "$menu" != *last* && "$menu" != *only* ]] && - compadd "$expl2[@]" -UQ -V all-expansions - "$exp" - - [[ -n "$orig" && "$orig" = *last* ]] && - compadd "$expl[@]" -UQ -V original - "$word" - + if [[ $#exp -ne 1 && "$menu" != *last* && "$menu" != *only* ]]; then + _setup all-expansions + compadd "$expl2[@]" -UQ -V all-expansions - "$exp" + fi + if [[ -n "$orig" && "$orig" = *last* ]]; then + _setup original + compadd "$expl[@]" -UQ -V original - "$word" + fi compstate[insert]=menu fi -- cgit 1.4.1