From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.dk
Subject: Re: ignore-line style
Date: Wed, 17 Oct 2001 15:27:26 +0200 [thread overview]
Message-ID: <15309.34622.18416.249769@gargle.gargle.HOWL> (raw)
In-Reply-To: <15306.60590.817177.439249@gargle.gargle.HOWL>
I wrote:
> Oliver Kiddle wrote:
>
> > I use this style:
> >
> > zstyle ':completion:*:*:(cat|diff|less|rm|vi):*' ignore-line true
> >
> > So, filenames I've already mentioned are not offered for completion
> > with these commands. This is useful but there is a problem:
> >
> > With diff, it is quite common to compare a file to another file with
> > the same name in a different directory but this style blocks completion
> > of the second file. e.g: diff file ../fi<tab>
> > It needs to include the `../' in the comparison against other words on
> > the line.
>
> Yeah, I've stumbled over this, too, but didn't have the time to work
> on it. And what's even more irritating, for me it shows that `file' in
> the list but doesn't complete to it.
Here is what seems to fix it. It was using _comp_ignore on every level
it walked through, hence `file' matched.
This seems almost too simple to not have any other effects, but let's
try... (I'll leave it to Oliver to commit his patch).
Bye
Sven
Index: Completion/Unix/Type/_path_files
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Type/_path_files,v
retrieving revision 1.13
diff -u -r1.13 _path_files
--- Completion/Unix/Type/_path_files 2001/10/11 09:19:56 1.13
+++ Completion/Unix/Type/_path_files 2001/10/17 13:23:54
@@ -351,19 +351,19 @@
elif [[ "$tmp1[1]" = */* ]]; then
if [[ -n "$_comp_correct" ]]; then
tmp2=( "$tmp1[@]" )
- builtin compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp1:t}"
+ builtin compadd -D tmp1 "$matcher[@]" - "${(@)tmp1:t}"
if [[ $#tmp1 -eq 0 ]]; then
tmp1=( "$tmp2[@]" )
- compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp2:t}"
+ compadd -D tmp1 "$matcher[@]" - "${(@)tmp2:t}"
fi
else
tmp2=( "$tmp1[@]" )
- compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp1:t}"
+ compadd -D tmp1 "$matcher[@]" - "${(@)tmp1:t}"
fi
else
tmp2=( '' )
- compadd -D tmp1 -F _comp_ignore "$matcher[@]" -a tmp1
+ compadd -D tmp1 "$matcher[@]" -a tmp1
fi
# If no file matches, save the expanded path and continue with
--
Sven Wischnowsky wischnow@informatik.hu-berlin.de
next prev parent reply other threads:[~2001-10-17 13:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-09 15:52 Oliver Kiddle
2001-10-15 14:03 ` Sven Wischnowsky
2001-10-15 15:12 ` Nadav Har'El
2001-10-17 13:27 ` Sven Wischnowsky [this message]
2001-10-18 16:32 ` Oliver Kiddle
2001-10-19 9:29 ` Sven Wischnowsky
2001-10-19 16:50 ` Oliver Kiddle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=15309.34622.18416.249769@gargle.gargle.HOWL \
--to=wischnow@informatik.hu-berlin.de \
--cc=zsh-workers@sunsite.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).