#autoload # This tries to automatically find the rgb.txt color database. If this # in an unusual place on your system or you want a personal database, # you can use the configuration key: # # colors_path # Path to a file containing the names of colors you want to # complete. In the form of a X11 rgb.txt file. local expl if (( ! $+_color_cache )); then local file # Cache of color names doesn't exist yet, create it. zstyle -s ":completion:${curcontext}:colors" path file if [[ -n "$file" ]]; then _color_cache=( "${(@)${(@f)$(< $file)}[2,-1]##* }" ) else file=( /usr/{lib,{{X11R6,openwin},local{,/X11{,R6}}}/lib}/X11/rgb.txt(N) ) (( $#file )) && _color_cache=( "${(@)${(@)${(@f)$(< $file[1])}[2,-1]##* }:#* *}" ) fi # Stupid default value. (( $#_color_cache )) || _color_cache=(white black gray red blue green) fi _wanted colors expl 'color specification' \ compadd "$@" -M 'm:{a-z}={A-Z} m:-=\ r:|[ A-Z0-9]=* r:|=*' - \ "$_color_cache[@]"