about summary refs log tree commit diff
path: root/Completion/X/_x_color
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-08-31 10:23:46 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-08-31 10:23:46 +0000
commit8e5365152aa58bb0d8a209efe176e1e7ae70675f (patch)
tree0a41625f8d28369c17c2fc8345d16e73a2610df8 /Completion/X/_x_color
parent57e98c6948f0cb64e79c4455fc692d81a75e30bf (diff)
downloadzsh-8e5365152aa58bb0d8a209efe176e1e7ae70675f.tar.gz
zsh-8e5365152aa58bb0d8a209efe176e1e7ae70675f.tar.xz
zsh-8e5365152aa58bb0d8a209efe176e1e7ae70675f.zip
manual/7562
Diffstat (limited to 'Completion/X/_x_color')
-rw-r--r--Completion/X/_x_color24
1 files changed, 24 insertions, 0 deletions
diff --git a/Completion/X/_x_color b/Completion/X/_x_color
new file mode 100644
index 000000000..346142eea
--- /dev/null
+++ b/Completion/X/_x_color
@@ -0,0 +1,24 @@
+#autoload
+
+local expl
+
+if (( ! $+_color_cache )); then
+  local file
+
+  # Cache of color names doesn't exist yet, create it.
+
+  file=( /usr/{lib,{{X11R6,openwin},local{,/X11{,R6}}}/lib}/X11/rgb.txt(N) )
+
+  if (( $#file )); then
+    _color_cache=( "${(@)${(@f)$(< $file[1])}[2,-1]##*		}" )
+  else
+
+    # Stupid default value.
+
+    _color_cache=(white black gray red blue green)
+  fi
+fi
+
+_description expl 'color specification'
+compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} m:-=\  r:|[ A-Z0-9]=* r:|=*' - \
+        "$_color_cache[@]"