From 3fcbcf8a79b81230201f0e362eddb2399f4ca76e Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Fri, 13 Aug 1999 12:34:20 +0000 Subject: zsh-workers/7430 --- Completion/User/_colors | 14 ++++---------- Completion/User/_cursors | 15 +++++++++++++++ Completion/User/_x_options | 4 ++-- Completion/User/_xsetroot | 15 +++++++++++++++ 4 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 Completion/User/_cursors create mode 100644 Completion/User/_xsetroot (limited to 'Completion') 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 -- cgit 1.4.1