#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]||[ A-Z0-9]=* r:|=*' -a - _color_cache
Copyright 2K16 - 2K18 Indonesian Hacker Rulez