Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: _multi_parts and -q
On Fri, 17 Jun 2011 14:50:08 -0700
Danek Duvall <duvall@xxxxxxxxxxxxxx> wrote:
> I was hoping that this
>
> _wanted dataset expl "$expl_type" _multi_parts "$@" -q / datasetlist
>
> would add slashes as auto-removable suffixes, but it doesn't appear to.
> That is, if I type a slash immediately after a slash, it gets swallowed,
> but the slash doesn't disappear after hitting space or return. Is this an
> issue with _multi_parts, or something I'm doing wrong? I tried putting in
> -S/ explicitly, but that didn't seem to make a difference.
_multi_parts is completely impenetrable, with no fewer than *18* calls
to compadd, but there is some evidence it is handling the -q and -S
options (the zparseopts at the start) and using the resulting $sopts in
some places, which is what the documentation says it does, although
reading the documentation didn't entirely fill me with confidence that I
understood everything that was going on.
Anyway I think the following is working as I expect:
_wanted dataset expl "$expl_type" _multi_parts -S/ -q / datasetlist;
in that:
- if I complete something ambiguous I don't get the suffix
- if I complete something unambiguous I do
- the suffix is removable with the usual features:
-- it's highlighted if you're using Mikael's autoremove highlighting
feature
-- if I type a "/" it replaces the autoremovable "/"
-- if I type a " " the "/" goes and the " " stays
-- if I type a letter the "/" stays and the letter appears immediately
after.
That's pretty much all I'm expecting.
Note that I use menu completion, which shouldn't make a difference at
this level but might do.
I was testing with this entirely spurious function:
_tst() {
local expl_type="stuff"
local -a datasetlist
datasetlist=(foo bar rod stuff)
local pref
[[ $PREFIX = */* ]] && pref=${PREFIX%/*}
[[ -n $pref ]] && datasetlist=($pref/${^datasetlist})
_wanted dataset expl "$expl_type" _multi_parts -S/ -q / datasetlist;
}
simply to get strings to compile. I don't think that should matter.
--
Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/
Messages sorted by:
Reverse Date,
Date,
Thread,
Author