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.
next prev 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).