#autoload if (( ! $+_color_cache )); then local file # Cache of color names doesn't exist yet, create it. for f in /usr/{,local/,X11R6/,openwin/}lib/X11/rgb.txt do if [[ -f $f ]]; then file=$f break; fi done if [[ -n "$file" ]]; then _color_cache=( "${(@)${(@f)$(< $file)}[2,-1]##* }" ) else # Stupid default value. _color_cache=(white black gray red blue green) fi fi compadd - "$_color_cache[@]"