diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2000-07-12 10:19:59 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2000-07-12 10:19:59 +0000 |
commit | cc2213b340690590cdd1f7094cfaaf83a90a7cda (patch) | |
tree | 36bc9230a7ca9d4809105f08509ded48fe6772bb /Completion/Core | |
parent | 8e2fa4d9b2196e8f3a199cc22400ba35bcb21556 (diff) | |
download | zsh-cc2213b340690590cdd1f7094cfaaf83a90a7cda.tar.gz zsh-cc2213b340690590cdd1f7094cfaaf83a90a7cda.tar.xz zsh-cc2213b340690590cdd1f7094cfaaf83a90a7cda.zip |
12227: select-prompt handled by compinstall
Diffstat (limited to 'Completion/Core')
-rw-r--r-- | Completion/Core/compinstall | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/Completion/Core/compinstall b/Completion/Core/compinstall index 2f784fcc2..fc56d2152 100644 --- a/Completion/Core/compinstall +++ b/Completion/Core/compinstall @@ -1243,7 +1243,7 @@ this case. Do you want this? __ci_do_selection() { - local key listc menu select amenu elt + local key listc menu select amenu elt listp selectp haslistp hasselectp integer num __ci_get_this_style list-colors listc @@ -1251,6 +1251,9 @@ __ci_do_selection() { __ci_get_this_style list-prompt listp [[ -n $listp ]] && haslistp=1 listp=${(Q)listp} + __ci_get_this_style select-prompt selectp + [[ -n $selectp ]] && hasselectp=1 + selectp=${(Q)selectp} while true; do clear @@ -1319,6 +1322,7 @@ number of completions. Please enter: - a negative number to turn this feature off - an empty line to leave the setting the way it is. " + # Better to parse and display the current setting. while true; do vared -eh -p 'value> ' select [[ -z $select || $select = ((-|)<->|l|<->#ll<->#) ]] && break; @@ -1363,6 +1367,23 @@ number of completions. Please enter: menu="$amenu" ;; esac + if [[ $menu = *select* ]]; then + print "\ +You can also set a prompt to use for menu selection when it would scroll +off the screen. Unless this is set, you won't see a prompt, but the feature +is still enabled. + +Edit a prompt below. It can contain \`%l' to show the number of matches +as \`current_number/total_number', \`%p' to show the fraction of +the way down the list, or font-control sequences such as %B, %U, %S and +the corresponding %b, %u, %s; quotes will be added automatically. Delete +the whole line to turn it off. Hit return to keep the current value. +" + [[ -z $hasselectp ]] && + selectp='%SScrolling active: current selection at %p%s' + vared -eh -p 'prompt> ' -c selectp + [[ -z $selectp ]] && hasselectp= + fi ;; 3) print "\ You can make completion lists scroll when they don't fit on the screen. @@ -1395,6 +1416,8 @@ the current value. __ci_set_this_style menu menu [[ -n $haslistp ]] && listp=${(qq)listp} __ci_set_this_style list-prompt listp + [[ -n $hasselectp ]] && selectp=${(qq)selectp} + __ci_set_this_style select-prompt selectp return 0 } @@ -1411,8 +1434,7 @@ __ci_do_display() { *** compinstall: display and insertion options *** 1. Change appearance of completion lists: allows descriptions of - completions to appear, sorting of different types of completions, - and scrolling of completion lists. + completions to appear and sorting of different types of completions. 2. Change how completions are inserted: includes options for sorting, and keeping the original or an unambiguous prefix with correction etc. |