Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: remote files completion for scp



=?iso-8859-2?Q?Micha=B3?= Politowski wrote:
> 
> This is not the same problem.
> If I understand things correctly the second-level-of-quoting fix
> was meant to produce correct command lines for scp,
> and I have this version installed.

Yes, sorry you're right. Your fix is the correct one and I'll apply
it. The added quoting gets in the way when doing the remote ls.

> And another deficiency I've just noticed:
> scp 'hostname:<TAB>
> (note the opening quote) fails to produce any matches.
> But for solving this I definitely don't feel qualified.

This problem probably applies in other cases - the words array includes
any quoting and that needs removing (which isn't as easy as you might
think). For this I'll just make it use IPREFIX which works for single
and double quotes but not for backslashes. Patch below does this.

Oliver

Index: Completion/Unix/Command/_rlogin
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_rlogin,v
retrieving revision 1.2
diff -u -r1.2 _rlogin
--- Completion/Unix/Command/_rlogin	7 Jan 2003 08:51:10 -0000	1.2
+++ Completion/Unix/Command/_rlogin	7 May 2003 12:28:46 -0000
@@ -5,7 +5,7 @@
   local expl remfiles remdispf remdispd suf ret=1
 
   if zstyle -T ":completion:${curcontext}:" remote-access; then
-    remfiles=(${(M)${(f)"$(rsh ${words[CURRENT]%%:*} ls -d1F ${PREFIX%%[^./][^/]#}\* 2>/dev/null)"}%%[^/]#(|/)})
+    remfiles=(${(M)${(f)"$(rsh ${IPREFIX%:} ls -d1F ${PREFIX%%[^./][^/]#}\* 2>/dev/null)"}%%[^/]#(|/)})
     compset -P '*/'
     compset -S '/*' || suf='remote file'
 
Index: Completion/Unix/Command/_ssh
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_ssh,v
retrieving revision 1.19
diff -u -r1.19 _ssh
--- Completion/Unix/Command/_ssh	13 Feb 2003 16:15:29 -0000	1.19
+++ Completion/Unix/Command/_ssh	7 May 2003 12:28:46 -0000
@@ -6,7 +6,7 @@
 
   if zstyle -T ":completion:${curcontext}:" remote-access; then
     zparseopts -D -E -a args p: 1 2 4 6 F:
-    remfiles=(${(M)${(f)"$(ssh $args -a -x ${words[CURRENT]%%:*} ls -d1F ${PREFIX%%[^./][^/]#}\* 2>/dev/null)"}%%[^/]#(|/)})
+    remfiles=(${(M)${(f)"$(ssh $args -a -x ${IPREFIX%:} ls -d1F ${PREFIX%%[^./][^/]#}\* 2>/dev/null)"}%%[^/]#(|/)})
     compset -P '*/'
     compset -S '/*' || suf='remote file'
 



Messages sorted by: Reverse Date, Date, Thread, Author