about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-08-13 12:34:20 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-08-13 12:34:20 +0000
commit3fcbcf8a79b81230201f0e362eddb2399f4ca76e (patch)
treea7779ea5e23309f2c555a22d1fc07eb8127e2da5 /Completion
parent73af1e03100d32ef10bfd303a9b156d3c8e789aa (diff)
downloadzsh-3fcbcf8a79b81230201f0e362eddb2399f4ca76e.tar.gz
zsh-3fcbcf8a79b81230201f0e362eddb2399f4ca76e.tar.xz
zsh-3fcbcf8a79b81230201f0e362eddb2399f4ca76e.zip
zsh-workers/7430
Diffstat (limited to 'Completion')
-rw-r--r--Completion/User/_colors14
-rw-r--r--Completion/User/_cursors15
-rw-r--r--Completion/User/_x_options4
-rw-r--r--Completion/User/_xsetroot15
4 files changed, 36 insertions, 12 deletions
diff --git a/Completion/User/_colors b/Completion/User/_colors
index 797a7d7b3..7a7b0824b 100644
--- a/Completion/User/_colors
+++ b/Completion/User/_colors
@@ -5,16 +5,10 @@ if (( ! $+_color_cache )); then
 
   # 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
+  file=( /usr/{lib,{{X11R6,openwin},local{,/X11{,R6}}}/lib}/X11/rgb.txt )
 
-  if [[ -n "$file" ]]; then
-    _color_cache=( "${(@)${(@f)$(< $file)}[2,-1]##*		}" )
+  if (( $#file )); then
+    _color_cache=( "${(@)${(@f)$(< $file[1])}[2,-1]##*		}" )
   else
 
     # Stupid default value.
@@ -23,4 +17,4 @@ if (( ! $+_color_cache )); then
   fi
 fi
 
-compadd - "$_color_cache[@]"
+compadd -M 'm:{a-z}={A-Z} m:-=\  r:|[ A-Z0-9]=* r:|=*' - "$_color_cache[@]"
diff --git a/Completion/User/_cursors b/Completion/User/_cursors
new file mode 100644
index 000000000..7e5cbc44e
--- /dev/null
+++ b/Completion/User/_cursors
@@ -0,0 +1,15 @@
+#autoload
+
+if (( ! $+_cursor_cache )); then
+  local file
+
+  file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/cursorfont.h(N) )
+
+  if (( $#file )); then
+    _cursor_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#*XC_*}[2,-1]#* XC_}% *}" )
+  else
+    _cursor_cache=( X_cursor )
+  fi
+fi
+
+compadd -M 'm:-=_ r:|_=*' - "$_cursor_cache[@]"
diff --git a/Completion/User/_x_options b/Completion/User/_x_options
index 51b602a33..9c3a303bb 100644
--- a/Completion/User/_x_options
+++ b/Completion/User/_x_options
@@ -4,7 +4,7 @@
 
 if [ "$words[CURRENT-1]" = "-display" ]; then
   _compskip=all
-  _hosts -S :0
+  _hosts -S ':0 ' -r :
 else
-  compadd -P- -J options - display name xrm
+  compadd -J options - -display -name -xrm
 fi
diff --git a/Completion/User/_xsetroot b/Completion/User/_xsetroot
new file mode 100644
index 000000000..74a0b6180
--- /dev/null
+++ b/Completion/User/_xsetroot
@@ -0,0 +1,15 @@
+#compdef xsetroot
+
+case "$words[CURRENT-1]" in
+-cursor) _files -/g '*.(#i)(xbm|curs(|or))'; return;;
+-cursor_name) _cursors; return;;
+-bitmap) _files -/g '*.(#i)xbm'; return;;
+-([fb]g|solid)) _colors; return;;
+esac
+
+if [[ CURRENT -gt 2 && "$words[CURRENT-2]" = -cursor ]]; then
+  _files -/g '*.(#i)(xbm|curs(|or)|mask)'
+else
+  compadd -M 'm:-=_ r:|_=*' - -help -def -cursor -cursor_name -bitmap -mod -gray -grey \
+                       -fg -bg -rv -solid -name
+fi