aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-03-24 11:29:25 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-03-24 11:29:25 +0000
commite6a2abb8dfe2e03137c82a8c13ae3bfc4c517378 (patch)
treebe0d4d24ed15fb36cccaf0deef90ac8e5a44fe44
parent21c6aca81618cbf75c81101293c0e1b3b62b10d5 (diff)
downloadzsh-e6a2abb8dfe2e03137c82a8c13ae3bfc4c517378.tar.gz
zsh-e6a2abb8dfe2e03137c82a8c13ae3bfc4c517378.tar.xz
zsh-e6a2abb8dfe2e03137c82a8c13ae3bfc4c517378.zip
Initial revision
-rw-r--r--Completion/X/_x_colormapid15
-rw-r--r--Completion/X/_xwit97
2 files changed, 112 insertions, 0 deletions
diff --git a/Completion/X/_x_colormapid b/Completion/X/_x_colormapid
new file mode 100644
index 000000000..4fe6aac42
--- /dev/null
+++ b/Completion/X/_x_colormapid
@@ -0,0 +1,15 @@
+#autoload
+
+local expl list desc
+
+_wanted colormapids expl 'colormap id' || return 1
+
+list=(${(f)"$(xprop -root -f RGB_COLOR_MAP 32xcccccccxx ': $0\n'|awk -F'[ ():]' '/^[a-zA-Z_]+\(RGB_COLOR_MAP\)/ {print $5, "--", $1}')"})
+
+if zstyle -T ":completion:${curcontext}:colormap-id" verbose; then
+ desc=(-ld list)
+else
+ desc=()
+fi
+
+compadd "$expl[@]" "$@" "$desc[@]" - "${(@)list%% *}"
diff --git a/Completion/X/_xwit b/Completion/X/_xwit
new file mode 100644
index 000000000..e86443a32
--- /dev/null
+++ b/Completion/X/_xwit
@@ -0,0 +1,97 @@
+#compdef xwit
+
+local word=$'[^\0]#\0'
+local nul=$'\0'
+
+local guard='-_xwit_guard -${match[1]%?}'
+
+_xwit_guard () {
+ local opt="$1" o
+ (( no[$opt]-- ))
+ for o in ${=eo[$opt]}; do
+ no[$o]=0
+ done
+ :
+}
+
+_xwit_compopts () {
+ local expl
+ _description options expl option
+ compadd "$expl[@]" - ${(k)no[(R)*~0]} || compadd "$expl[@]" - ${(k)no}
+}
+
+_regex_arguments _xwit_parse \
+ "/$word/" \
+ \( \
+ "/-/+" \
+ \( "/display$nul/" "$guard" "/$word/" ":_x_display" \
+ \| "/(sync|pop|open|iconify|unmap|root|current|select|(no|)(save|backingstore|saveunder))$nul/" "$guard" \
+ \| "/resize$nul/" "$guard" "/$word/" ":_message width" "/$word/" ":_message height" \
+ \| "/rows$nul/" "$guard" "/$word/" ":_message rows" \
+ \| "/columns$nul/" "$guard" "/$word/" ":_message columns" \
+ \| "/(r|)move$nul/" "$guard" "/$word/" ":_message x" "/$word/" ":_message y" \
+ \| "/(r|)warp$nul/" "$guard" "/$word/" ":_message x" "/$word/" ":_message y" \
+ \| "/colormap$nul/" "$guard" "/$word/" ":_x_colormapid" \
+ \| "/(name|label)$nul/" "$guard" "/$word/" ":_x_name" \
+ \| "/iconname$nul/" "$guard" "/$word/" ":_x_name" \
+ \| "/bitmap$nul/" "$guard" "/$word/" ":_files -g \\*.xbm" \
+ \| "/mask$nul/" "$guard" "/$word/" ":_files -g \\*.xbm" \
+ \| "/iconmove$nul/" "$guard" "/$word/" ":_message x" "/$word/" ":_message y" \
+ \| "/id$nul/" "$guard" "/$word/" ":_x_window" \
+ \| "/(no|)keyrepeat$nul/" "$guard" \
+ \( "/[0-9]##$nul/" ":_message keycode" \
+ \( "/-$nul/" "/[0-9]##$nul/" ":_message 'last keycode'" \| \) \) \# \
+ \| "/names$nul/" "$guard" "/$word/" ":_x_window -n" \# \
+ \| "/[]/" ':_xwit_compopts' \
+ \) \
+ \) \#
+
+_xwit () {
+ typeset -A no eo
+
+ no=(
+ -display 1
+ -sync 1
+ -pop 1 -open 0
+ -iconify 1
+ -unmap 1
+ -root 1
+ -current 1
+ -select 1
+ -save 1
+ -backingstore 1
+ -saveunder 1
+ -nosave 1
+ -nobackingstore 1
+ -nosaveunder 1
+ -resize 1
+ -rows 1
+ -columns 1
+ -move 1
+ -rmove 1
+ -warp 1
+ -rwarp 1
+ -colormap 1
+ -name 1 -label 0
+ -iconname 1
+ -bitmap 1
+ -mask 1
+ -iconmove 1
+ -id 1
+ -keyrepeat 1
+ -nokeyrepeat 1
+ -names 1
+ )
+
+ eo=(
+ -root '-root -current -select -id -names'
+ -current '-root -current -select -id -names'
+ -select '-root -current -select -id -names'
+ -id '-root -current -select -id -names'
+ -names '-root -current -select -id -names'
+ )
+
+ _xwit_parse
+}
+
+[[ -o kshautoload ]] || _xwit "$@"