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

Re: _multi_parts and -q

On Jun 17,  2:50pm, Danek Duvall wrote:
} Subject: _multi_parts and -q
} 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.

There are a couple of things going on here, neither of which I entirely

The options passed to _multi_parts are only passed through to compadd in
the event that there is exactly one possible match.  So in the case of
ambiguity, the -q is ignored and the suffix is never autoremovable.

Even more confusing, though, is that on lines 169, 173, and 176 the
separator is passed through to compadd with -S (still ignoring -q) but
on lines 191, 211, 244, 249 and 253 an explicit -S '' is passed, even
though a separator may be included in the partial match to be inserted
on the line.

I suspect there's an underlying assumption that the strings passed to
_multi_parts (in this case, the values in $datasetlist) represent ALL
possible strings that could appear in a valid command line at that
position; so that it would never make sense to stop completing in the
middle and remove the separator.  Either the separator will always be
needed in order to form a valid command line, or the ambiguity occurs
before reaching the separator and it won't appear in the completion.

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