Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: compadd -qS' ' should escape the space
- X-seq: zsh-workers 23400
- From: "Nikolai Weibull" <now@xxxxxxxx>
- To: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: compadd -qS' ' should escape the space
- Date: Mon, 7 May 2007 09:50:15 +0200
- Cc: "Zsh hackers list" <zsh-workers@xxxxxxxxxx>
- Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=Qu25jJsGVaxdaB80eruTW5wwqBs3hrkaPBq7SoC9r+xD8XM0ZdSP9hOT5mdKX1HngO+gxvtugaXJrZ8PEEoJUI+bTRISMdh8XuSiliU0IBYHxHV8XnJPwMeHPPl2Xz5cQNaNT7bRNLc6uW4Eo5kCKzTr+exLveI4Jr+Y508E02M=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=ArhF8sa4jNgLs0lCZNSAMEeE2XeXg8UACpnUF6x8AMAJOQIJRPd0x654DmJ17gfqEfuCT/StwtOjR3JbLH3kGyvhHAy5wpurGRkTJd3qj/6+9mgNYPpAE+zGSV28r4gXDRnYaifV90gMvhvrWmrV6OxbumL9+IEdwwdxcFJ1ilw=
- In-reply-to: <070506224450.ZM9202@xxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <dbfc82860705030911t4202811fo528080fd69af312f@xxxxxxxxxxxxxx> <070506224450.ZM9202@xxxxxxxxxxxxxxxxxxxxxx>
- Sender: nikolai.weibull@xxxxxxxxx
On 5/7/07, Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
I'm sort of surprised no one responded to this. (Or did they and gmail
has spam-filtered it for me again?)
Nah, it's probably the fact that my question/suggestion wasn't very
well-formulated.
On May 3, 6:11pm, Nikolai Weibull wrote:
} Subject: compadd -qS' ' should escape the space
}
} _describe -t color 'color' colors -qS' '
}
} I'd expect the space used as a suffix to be escaped.
Er, no. The suffix is supposed to be a separator between words; e.g.,
in file completion, you want the space between the file names to be
treated as IFS by the shell, so that you get one file name per word
as the command arguments.
You didn't provide enough context to know what you're really trying
to do and why you think the space should be escaped, so I have no
suggestions for what you should be doing instead.
I'm trying to complete a set of three colors and attributes:
compset -P '* '
case ($words[CURRENT]) in
(?*' '?*' '*)
if [[ $words[CURRENT] == *(bold|dim|ul|blink|reverse)* ]]; then
__git_colors
else
__git_color_attributes
fi
;;
(*)
if [[ $words[CURRENT] == *(bold|dim|ul|blink|reverse)* ]]; then
__git_colors -qS' '
else
_alternative \
'colors:color:__git_colors -qS" "' \
'attributes:attribute:__git_color_attributes -qS" "'
fi
;;
The idea is that when completing in the following context:
% git config color.branch.local |
(where '|' is the cursor) you'll be able to enter three space-separated values:
% git config color.branch.local red\ |
and now we'll still be able to complete the two other components. If
I manually prefix the word before completing with a double quote it
all works, but I was hoping that this could also work automatically.
Feel free to ask for more context ;-).
nikolai
Messages sorted by:
Reverse Date,
Date,
Thread,
Author