zsh-workers
 help / color / mirror / code / Atom feed
* Make the `users-hosts' style take precedence?
@ 2001-07-21 21:39 Bart Schaefer
  2001-07-24  7:10 ` PATCH: " Sven Wischnowsky
  0 siblings, 1 reply; 2+ messages in thread
From: Bart Schaefer @ 2001-07-21 21:39 UTC (permalink / raw)
  To: zsh-workers

I have these styles:

zstyle -e ':completion:*:(ssh|scp):*' hosts 'reply=(
    ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) \
		     /dev/null)"}%%[# ]*}//,/ }
    ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
    )'
zstyle ':completion:*:(ssh|scp):*:my-accounts' users-hosts \
    schaefer@{candle,dazzle,gleam,chimney}.brasslantern.com

When completing after `ssh schaefer@', I'd like to be offered only those
host names that came from the users-hosts style, and not all the others
from the hosts style.  How do I accomplish this?  I'd use the tag-order
style, except that `my-accounts' is not a "real" tag for this purpose.

One other oddity:  If I type `ssh @', then move the cursor back so it's
over the `@', and then press TAB, I would expect to complete user names
because that's what should appear to the left of an `@'.  Instead it
offers both users and host names -- but in THIS case, the only hosts
offered *are* those from the users-hosts style.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   


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

* PATCH: Re: Make the `users-hosts' style take precedence?
  2001-07-21 21:39 Make the `users-hosts' style take precedence? Bart Schaefer
@ 2001-07-24  7:10 ` Sven Wischnowsky
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Wischnowsky @ 2001-07-24  7:10 UTC (permalink / raw)
  To: zsh-workers

Bart Schaefer wrote:

> I have these styles:
> 
> zstyle -e ':completion:*:(ssh|scp):*' hosts 'reply=(
>     ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) \
> 		     /dev/null)"}%%[# ]*}//,/ }
>     ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
>     )'
> zstyle ':completion:*:(ssh|scp):*:my-accounts' users-hosts \
>     schaefer@{candle,dazzle,gleam,chimney}.brasslantern.com
> 
> When completing after `ssh schaefer@', I'd like to be offered only those
> host names that came from the users-hosts style, and not all the others
> from the hosts style.  How do I accomplish this?  I'd use the tag-order
> style, except that `my-accounts' is not a "real" tag for this purpose.

Hm, that's what I get.

> One other oddity:  If I type `ssh @', then move the cursor back so it's
> over the `@', and then press TAB, I would expect to complete user names
> because that's what should appear to the left of an `@'.  Instead it
> offers both users and host names -- but in THIS case, the only hosts
> offered *are* those from the users-hosts style.

But this one I could reproduce.  Let's make _ssh even smarter.


Bye
  Sven

Index: Completion/Unix/Command/_ssh
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_ssh,v
retrieving revision 1.2
diff -u -r1.2 _ssh
--- Completion/Unix/Command/_ssh	2001/05/29 17:54:37	1.2
+++ Completion/Unix/Command/_ssh	2001/07/24 07:09:34
@@ -143,6 +143,8 @@
       userhost)
         if compset -P '*@'; then
 	  _wanted hosts expl 'remote host name' _ssh_hosts && ret=0
+        elif compset -S '@*'; then
+          _wanted users expl 'login name' _ssh_users -S '' && ret=0
         else
           if (( $+opt_args[-l] )); then
 	    tmp=()

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


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

end of thread, other threads:[~2001-07-24  7:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-21 21:39 Make the `users-hosts' style take precedence? Bart Schaefer
2001-07-24  7:10 ` PATCH: " Sven Wischnowsky

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