zsh-users
 help / color / Atom feed
* menu select suggestion
@ 2019-10-15 17:32 Perry Smith
  2019-10-16  0:25 ` dana
  0 siblings, 1 reply; 2+ messages in thread
From: Perry Smith @ 2019-10-15 17:32 UTC (permalink / raw)
  To: zsh-users

Hi,

I dove into zsh about a week ago.  One of the things that I just
didn’t know is what is “menu select” (as oppose to not using “menu
select”) from a user interface perspective.

I finally (a few hours ago today) understand that (for example) if I
have a directory full of files and I type a bit of one of the file
names and hit tab I get a list of completions.  Now if I hit tab a
second time (with my current configuration) I then go into “menu
select” which highlights one of the words and I can now drive around
the menu with the arrow keys (and there is probably a lot more
features too that I’ve let to discover).

"Not menu select" the interface is different.  It appears I can set
menu to true which has one interface or false which has another
interface.

I figured this out by tweaking

zstyle ':completion:*:*:*:*:*' menu XXX

to the different values.  What confused me is that (at least with the
configuration I started from) I need to hit tab a second time before I
see any difference.

Is there a section in the man pages or the manual that describes the
various user interfaces?

Thank you


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: menu select suggestion
  2019-10-15 17:32 menu select suggestion Perry Smith
@ 2019-10-16  0:25 ` dana
  0 siblings, 0 replies; 2+ messages in thread
From: dana @ 2019-10-16  0:25 UTC (permalink / raw)
  To: Perry Smith; +Cc: zsh-users

On 15 Oct 2019, at 12:32, Perry Smith <pedz@easesoftware.com> wrote:
> Is there a section in the man pages or the manual that describes the
> various user interfaces?

The completion documentation is spread across several different pages.

zshoptions describes the shell options that control completion (you may be
interested in menu_complete, which affects the tab behaviour you mentioned):

  http://zsh.sourceforge.net/Doc/Release/Options.html#Completion-2

zshcompsys describes the styles (settings) that control completion, including
the `menu` one you mentioned (try Ctrl+F `menu completion`), amongst other
things:

  http://zsh.sourceforge.net/Doc/Release/Completion-System.html

zshmodules describes the zsh/complist module, which provides some of the
fancier completion functionality (including menu selection):

  http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcomplist-Module


Those three probably answer whatever questions you have about the actual UI,
but there are also a few others:

zshcompwid describes how compadd and widgets work:

  http://zsh.sourceforge.net/Doc/Release/Completion-Widgets.html

zshzle describes ZLE, which is the line editor that handles key bindings and
widget definitions:

  http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zsh-Line-Editor

zshcompctl describes the old completion system (compctl). You should never use
this, so i won't bother linking it, but if you come across it in your studies,
that's what it is.


The complex nature of the documentation reflects the fact that the completion
system is spread across several different components, and the way they all fit
together, and the terminology they use, can be confusing. For example, AFAIK,
the menu_complete option doesn't really have anything to do with the menu
completion we're talking about here, and menu selection is yet another thing.
I definitely can't claim to understand all of it myself

dana


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-15 17:32 menu select suggestion Perry Smith
2019-10-16  0:25 ` dana

zsh-users

Archives are clonable: git clone --mirror http://inbox.vuxu.org/zsh-users

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.zsh.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git