zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@cambridgesiliconradio.com>
To: zsh-workers@sunsite.auc.dk (Zsh hackers list)
Subject: PATCH: Re: PATCH: Re: long completion selections and listings
Date: Wed, 12 Jul 2000 11:14:53 +0100	[thread overview]
Message-ID: <0FXK00LBPXSS5Y@la-la.cambridgesiliconradio.com> (raw)
In-Reply-To: "Your message of Wed, 12 Jul 2000 11:23:27 +0200." <200007120923.LAA20826@beta.informatik.hu-berlin.de>

Sven wrote:
> Peter Stephenson wrote:
> 
> > According to the manual, select-prompt has a default when you used
> > scrolling with menus.  It doesn't show up for me --- I had to set it
> > explicitly.  (If I remember right, I didn't put it in compinstall because
> > there was already a sensible default.)
> 
> You get the default when setting select-prompt to the empty string and 
> that works for me.

It does say that in the manual.  What's confusing me is that (if I've read
this right), list-prompt uses a default if you don't set it to the empty
string, and select-prompt is the other way round.  I think I've handled
that difference in the following.

This adds select-prompt to compinstall and corrects the menu at the
previous level (I had moved handling of scrolling but hadn't changed the
description in the menu).

Index: Completion/Core/compinstall
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Core/compinstall,v
retrieving revision 1.16
diff -u -r1.16 compinstall
--- Completion/Core/compinstall	2000/07/03 14:00:44	1.16
+++ Completion/Core/compinstall	2000/07/12 10:12:01
@@ -1243,7 +1243,7 @@
 
 
 __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_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 @@
 - 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 @@
 		 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 @@
   __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 @@
          *** 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.


  reply	other threads:[~2000-07-12 10:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-07-12  9:23 Sven Wischnowsky
2000-07-12 10:14 ` Peter Stephenson [this message]
2000-07-12 10:35 PATCH: " Sven Wischnowsky
2000-07-12 10:44 ` Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0FXK00LBPXSS5Y@la-la.cambridgesiliconradio.com \
    --to=pws@cambridgesiliconradio.com \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).