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

Re: _multi_parts and -q



On Mon, Jun 20, 2011 at 10:03:34PM -0700, Bart Schaefer wrote:

> --- Completion/Base/Utility/_multi_parts	21 Dec 2010 16:41:14 -0000
> +++ Completion/Base/Utility/_multi_parts	21 Jun 2011 05:00:16 -0000
> @@ -116,7 +116,8 @@
>  	  compadd "$group[@]" "$expl[@]" "$sopts[@]" \
>                    -M "r:|${sep}=* r:|=* $matcher" - $pref$matches
>          else
> -	  if (( $matches[(I)${tmp1[1]}${sep}*] )); then
> +	  if (( $matches[(I)${tmp1[1]}${sep}*] )) &&
> +            ! (( $matches[(I)${tmp1[1]}] )); then
>  	    compadd "$group[@]" "$expl[@]" -p "$pref" -r "$sep" -S "$sep"
> "$opts[@]" \
>                      -M "r:|${sep}=* r:|=* $matcher" - "$tmp1[1]"
>            else

This doesn't seem to do the trick for me.  The slash is auto-removed, all
right, but immediately after I hit tab.  I can backspace over that space,
put in a slash (hitting tab will do that for me), and start completing
again, but then it's weird -- the next level in the hierarchy is presented
twice -- once with a slash and once without.

Danek

> By the way, do NOT pass an empty separator to _multi_parts.  Infinite loop.

_multi_parts should be able to check for that, no?

Danek



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