zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: Zsh Users <zsh-users@sunsite.dk>
Subject: Re: Interactive program in Zsh
Date: Thu, 10 Jun 2004 08:37:35 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.44.0406100808140.7158-100000@toltec.zanshin.com> (raw)
In-Reply-To: <20040609143225.GA10606@DervishD>

On Wed, 9 Jun 2004, DervishD wrote:

>     I don't know if this is the proper approach for what I need to
> do: the user is limited to use up arrow and down arrow for travelling
> into the list of options (maybe pg-up and pg-down for scrolling) and
> 'enter' to select the highlighted option. The program must process a
> text, present a list of options containing the text that matched
> certain regex and allow the user to choose one of the options.

I would say the canonical way to do this is using a "select x in ..."  
loop -- "select" already being clever enough these days to paginate its
list of choices -- but that doesn't allow the user to scroll up and down
with arrow keys.  (I think that's only because the history is disabled,
as it uses the default keymaps.)

Or you could stuff the list of options into the history with "print -s"  
and then use "vared -h" to let the user choose one, but then they aren't
actually navigating through the list, just displaying them each in turn.
Maybe that would be good enough, combined with first printing out the
entire list, except then you run into pagination issues.  You'll have to
play with key bindings to keep the user from modifying the choices --
that'd be easier in recent zsh that let you redefine the whole keymap.

Also in 4.2.x you might be able to do something with zle-line-init to
start up one of the widgets (previously posted) that invoke menu selection
on the history, which would then be pretty nearly what you asked for.


  parent reply	other threads:[~2004-06-10 15:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-09 14:32 DervishD
2004-06-09 14:44 ` Pierre HABOUZIT
2004-06-09 14:52   ` DervishD
2004-06-10 15:37 ` Bart Schaefer [this message]
2004-06-10 17:21   ` DervishD
2004-06-11  6:19     ` Bart Schaefer
2004-06-11  9:38       ` Peter Stephenson
2004-06-11  9:41       ` DervishD

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=Pine.LNX.4.44.0406100808140.7158-100000@toltec.zanshin.com \
    --to=schaefer@brasslantern.com \
    --cc=zsh-users@sunsite.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).