zsh-workers
 help / color / mirror / code / Atom feed
* RE: completion widgets in menu selection
@ 2000-10-12  9:28 Sven Wischnowsky
  2000-10-12  9:38 ` Andrej Borsenkow
  0 siblings, 1 reply; 9+ messages in thread
From: Sven Wischnowsky @ 2000-10-12  9:28 UTC (permalink / raw)
  To: zsh-workers


I wrote:

> ...
> 
> I'd also like to point out to Jay (although he probably found that out 
> already), that all this doesn't really have anything to do with menu
> completion, i.e. it works just fine without that. The discussion about 
> menu *selection* we had was about making such extra special key
> bindings work from withing that (and it's the patch for that which has
> been added).

Before someone corrects me... of course there is a bit of interaction
with menu completion or selection. Without that you won't be able to
select that all-matches-match.

For people who don't really like menu completion but sometimes envy
people that use it, there is the automenu option (and the menu
style). Using menu selection instead of ol' menu completion should
make navigation easier.

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread
* RE: completion widgets in menu selection
@ 2000-10-12  8:52 Sven Wischnowsky
  0 siblings, 0 replies; 9+ messages in thread
From: Sven Wischnowsky @ 2000-10-12  8:52 UTC (permalink / raw)
  To: zsh-workers


Andrej Borsenkow wrote:

> > In the last several weeks, I raised three issues on this list:
> >
> >  1. a|TAB being broken (which was fixed and I assume committed to
> >     CVS)
> >
> >  2. being able to more flexibly say that the completion rules for one
> >     command should be identical to another (as in _rlogin) without
> >     requiring Draconian restrictions on how completion functions
> >     should be organized
> >
> >  3. (my favorite) being able to insert all completions that match the
> >     current shell globbing expression into the commandline.
> >
> > The first issue is obviously resolved.  The second issue has generated
> > less traffic than the third and I haven't had much trouble following.
> > It seems like a good track is being followed.
> >
> > On the final issue, I'm confused about where things are going.  I've
> > decided that, as Bart suspected all along, I don't really like TAB
> > automatically "expanding" my glob expression even in the case of cvs
> > add.  What I think I really like is the _insert_all_matches option.
> > That way I can hit TAB to see what would complete without actually
> > having the completion be done, and if I'm satisfied, do something like
> > ^Xi to do the expansion.  Has this functionality actually been added,
> > or was it just discussed?
> 
> Hey ho! Now I'm not alone! :-)))
> 
> Yes, all prerequisites are  implemented in current CVS. What is missing, is
> the widget/key binding itself, but if you use example from docs verbatim, it
> works. I've tried it and I confirm it.
> 
> If you have suggestions what this _insert_all_matches should do - you are
> welcome. The difference between example and my version is that in my version
> you could hit ^Xi - and if there was no list, it called normal completion. Is
> this interesting? Example from docs will work only after existing list has
> already been generated.

But of course it's easy to do, just change the example to use:

  zstyle ':completion:all-matches:*' completer _all_matches _complete

(Or _match instead of _complete for the pattern-matching behaviour.)


I'd also like to point out to Jay (although he probably found that out 
already), that all this doesn't really have anything to do with menu
completion, i.e. it works just fine without that. The discussion about 
menu *selection* we had was about making such extra special key
bindings work from withing that (and it's the patch for that which has
been added).

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread
* completion widgets in menu selection
@ 2000-10-11  7:44 Sven Wischnowsky
  2000-10-11  9:15 ` Andrej Borsenkow
  2000-10-11 15:59 ` E. Jay Berkenbilt
  0 siblings, 2 replies; 9+ messages in thread
From: Sven Wischnowsky @ 2000-10-11  7:44 UTC (permalink / raw)
  To: zsh-workers


[The last uncommitted patch.]

As promised, here is the patch that makes completion widgets that are
not directly handled by the menu selection code leave menu selection
without accepting the match currently selected.

Together with the _all_matches stuff, this allows one to use a
key-binding that inserts all matches from within menu selection
without having to fiddle with key bindings.

The more I think about this, the more sense does it seem to make,
especially because this allows everything that was possible before
plus some.

Bye
 Sven

diff -u -r ../oz/Src/Zle/complist.c ./Src/Zle/complist.c
--- ../oz/Src/Zle/complist.c	Tue Oct 10 21:38:58 2000
+++ ./Src/Zle/complist.c	Tue Oct 10 21:55:20 2000
@@ -2237,7 +2237,11 @@
 	    continue;
 	} else {
 	    ungetkeycmd();
-	    acc = 1;
+	    if (cmd->widget && (cmd->widget->flags & WIDGET_NCOMP)) {
+		acc = 0;
+		broken = 1;
+	    } else
+		acc = 1;
 	    break;
 	}
 	do_single(**p);
@@ -2260,6 +2264,7 @@
 	menucmp = 2;
 	showinglist = -2;
 	minfo.asked = 0;
+	zrefresh();
     }
     if (!noselect && (!dat || acc)) {
 	showinglist = -2;

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


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

end of thread, other threads:[~2000-10-12  9:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-10-12  9:28 completion widgets in menu selection Sven Wischnowsky
2000-10-12  9:38 ` Andrej Borsenkow
  -- strict thread matches above, loose matches on Subject: below --
2000-10-12  8:52 Sven Wischnowsky
2000-10-11  7:44 Sven Wischnowsky
2000-10-11  9:15 ` Andrej Borsenkow
2000-10-11 15:59 ` E. Jay Berkenbilt
2000-10-11 16:42   ` Andrej Borsenkow
2000-10-11 17:37     ` E. Jay Berkenbilt
2000-10-12  6:21       ` Andrej Borsenkow

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