From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12924 invoked from network); 7 Apr 2004 11:41:33 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 7 Apr 2004 11:41:33 -0000 Received: (qmail 10510 invoked by alias); 7 Apr 2004 11:41:16 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7331 Received: (qmail 10490 invoked from network); 7 Apr 2004 11:41:15 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 7 Apr 2004 11:41:15 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [130.225.247.86] by sunsite.dk (MessageWall 1.0.8) with SMTP; 7 Apr 2004 11:41:14 -0000 Received: (qmail 9820 invoked from network); 7 Apr 2004 11:41:14 -0000 Received: from main.gmane.org (80.91.224.249) by a.mx.sunsite.dk with SMTP; 7 Apr 2004 11:41:12 -0000 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1BBBQe-00082l-00 for ; Wed, 07 Apr 2004 13:41:12 +0200 Received: from isi-dialin-129-80.isionline-dialin.de ([195.158.129.80]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 07 Apr 2004 13:41:12 +0200 Received: from thorsten by isi-dialin-129-80.isionline-dialin.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 07 Apr 2004 13:41:12 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: zsh-users@sunsite.dk From: Thorsten Kampe Subject: Re: How to get faster completion if I make zsh assume what I've typed so far is correct? Date: Wed, 7 Apr 2004 13:41:08 +0200 Message-ID: <14f8etwgw10e8.dlg@thorstenkampe.de> References: <12734.1080061609@csr.com> <4061027C.907@acm.org> <4073DAE5.6040904@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: isi-dialin-129-80.isionline-dialin.de User-Agent: 40tude_Dialog/2.0.10.1de Sender: news X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, hits=0.0 required=6.0 tests=none autolearn=no version=2.63 X-Spam-Hits: 0.0 * paxunix (2004-04-07 12:41 +0100) > I wrote: >> Peter Stephenson wrote: >>>paxunix wrote: >>>>Why does zsh have to glob every directory along a pathname in order to >>>>find completions within the final directory? For example, take this case: >>>> >>>>/one/two/three/four >>>> >>>>If I set -x, the output after hitting TAB shows zsh retrieves all the >>>>subdirectories within one, two, three and four. >>> >>>It's looking for /oneandabit/twoandabit/threeandabit/four... etc. >>> >>>I certainly agree it should be possible to turn this off but the >>>function that implements this is very hairy and full of calls to poorly >>>documented shell internals. >>> >>>The documentation in the zshcompsys manual page suggests setting >>> >>> zstyle ':completion:*:paths' accept-exact true >>> >>>or maybe (I'm not quite sure what the entry means and the implementation >>>is obscure) >>> >>> zstyle ':completion:*:paths' accept-exact '*' >>> >> The latter works perfectly. The situation is even more pronounced on >> zsh under Cygwin, where completing a path with >> /cygdrive/ will cause your floppy drive to be accessed >> every time you attempt a new completion. The accept-exact '*' >> resolves this issue wonderfully. Many thanks! > > There are a couple of very annoying issues with this solution: > ambiguous matches are not cycled through correctly and it is impossible > to complete some pathnames. That's why it's called "accept-exact", right? > For example, if you have two directories: > > dir1 > dir1~ > > Typing dir will complete up to 'dir1' and (in my case) show dir1 > and dir1~ as possible completions. Successively hitting TAB will never > cycle through to dir1~ - a trailing '/' is inserted after dir1 and zsh > lists the contents of dir1 as possible completions. It appears that any > common prefix to an initial path completion attempt causes completion to > continue inside the first directory match. If it's between a directory > and a filename with a common prefix, things work as they are supposed to. > > In case there is a style or option that is messing things up, here is my > .compinstall: > > [...] > zstyle ':completion:*:paths' accept-exact '*' > > and my setopt output: Try "zstyle ':completion:*:paths' accept-exact continue" Thorsten