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

Re: compadd -qS' ' should escape the space



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