From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22959 invoked by alias); 18 Sep 2011 13:48:48 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 16382 Received: (qmail 27935 invoked from network); 18 Sep 2011 13:48:46 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.212.41 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=ylF2YcvOv/GsVU8HC8qnPQUop8w3jSNOMLWWBvbq63Q=; b=AQX7VLfrJDrRJoC3zbFarX250nSJ3kQflxtJDd05L45CVNLEgO3qCcb3fOJ8L6HbkZ gjUoIJYlWmhnFPoqAici/uBKZcAinVBf/rLpucmj67SS5xvGFeM/BCtxLGUghNU+p1Py GxLU6EzpJob1lhVXFnjqUI0iT8KZ3B07YpyYQ= MIME-Version: 1.0 In-Reply-To: References: <110913074320.ZM14249@torch.brasslantern.com> Date: Sun, 18 Sep 2011 15:48:39 +0200 Message-ID: Subject: Re: Completion lists From: Mikael Magnusson To: Yuri DElia Cc: zsh-users@zsh.org Content-Type: text/plain; charset=UTF-8 On 18 September 2011 15:41, Yuri DElia wrote: > Bart Schaefer brasslantern.com> writes: > >> If someone builds up a useful set of these based on this example, please >> post back to the list. > > Just for posterity, this is what I've using since a couple of days: > > ################## > # completition list colorization (emacs style) > highlight-comp() > { > reply=() > [ -n "$PREFIX" -a ! -d "$PREFIX" ] && reply+=( "=(#b)${PREFIX:q:t}(?)*==1" ) > reply+=( "=(#b)(?)*==1" ) > } > > zstyle -e ':completion:*' list-colors highlight-comp > ################## > > It seems to work fine for most cases. This particular code also seems to avoid > the reset bug as mentioned before (although this wasn't intended). > > Is also works for in-word completions, like this: > > % ls ///list > etc/ lib/ usr/ > > but it's also pure chance, since PREFIX in this case seems to be "///list" which > doesn't pass the "! -d" test (which is done for simple directories). I tried to > write better code to handle this case, but "$compstate" doesn't seem to put > anything meaningful (I was expecting insert_positions to be set to something!). > > Also, I could avoid the test entirely if I could set a different function when > completing arguments instead of files. How can I do this? [...] > zstyle -e ':completion:*' list-colors highlight-comp Here you can use something like ":completion:*:files:" instead, i don't know off hand what the exact value you want is, bindkey some key to _complete_help and check. Or maybe you want to make it match against _files rather than the specific tag. -- Mikael Magnusson