about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2000-07-12 10:19:59 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2000-07-12 10:19:59 +0000
commitcc2213b340690590cdd1f7094cfaaf83a90a7cda (patch)
tree36bc9230a7ca9d4809105f08509ded48fe6772bb
parent8e2fa4d9b2196e8f3a199cc22400ba35bcb21556 (diff)
downloadzsh-cc2213b340690590cdd1f7094cfaaf83a90a7cda.tar.gz
zsh-cc2213b340690590cdd1f7094cfaaf83a90a7cda.tar.xz
zsh-cc2213b340690590cdd1f7094cfaaf83a90a7cda.zip
12227: select-prompt handled by compinstall
-rw-r--r--ChangeLog14
-rw-r--r--Completion/Core/compinstall28
2 files changed, 37 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a0780698c..0f438af11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-12  Peter Stephenson  <pws@cambridgesiliconradio.com>
+
+	* 12227: Completion/Core/compinstall: add select-prompt handling
+	and correct menu entry and missing local parameters.
+
 2000-07-12  Sven Wischnowsky  <wischnow@zsh.org>
 
 	* 12226: Completion/Core/_main_complete: don't start menu
@@ -7,8 +12,13 @@
 	
 2000-07-11  Peter Stephenson  <pws@cambridgesiliconradio.com>
 
-	* Src/exec.c: 12220: print error message for unfound autoload
-	function body at lower locallevel.
+	* 12222: Src/exec.c: ignore EINTR in helper processe for
+	tee and cat with multios.  It might be considered unfortunate
+	that the shell is liable to exit on SIGPIPE if these disappear
+	early.
+
+	* 12220: Src/exec.c: print error message for unfound autoload
+	function body at lower locallevel.a
 
 2000-07-10  Bart Schaefer  <schaefer@zsh.org>
 
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.