about summary refs log tree commit diff
path: root/Completion/User/_socket
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-09-14 00:20:36 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-09-14 00:20:36 +0000
commit5be1908b56232b3f1236dc6ea75b170ae2826c7a (patch)
treeb9c110a1e8872ece32dcd34306f46f6c825005bd /Completion/User/_socket
parent6818d4f69732c2547f589cba9d9c7e0b73ee6310 (diff)
downloadzsh-5be1908b56232b3f1236dc6ea75b170ae2826c7a.tar.gz
zsh-5be1908b56232b3f1236dc6ea75b170ae2826c7a.tar.xz
zsh-5be1908b56232b3f1236dc6ea75b170ae2826c7a.zip
zsh-workers/7817
Diffstat (limited to 'Completion/User/_socket')
-rw-r--r--Completion/User/_socket30
1 files changed, 25 insertions, 5 deletions
diff --git a/Completion/User/_socket b/Completion/User/_socket
index ff8009ea1..9b1caab73 100644
--- a/Completion/User/_socket
+++ b/Completion/User/_socket
@@ -8,22 +8,42 @@
 local state line expl
 typeset -A options
 
+if [[ $CURRENT -eq 2 && (
+  -z "$compconfig[option_prefix]" ||
+  "$compconfig[option_prefix]" = *\!${words[1]}* ||
+  "$PREFIX" = -* ) ]]; then
+  _description expl option
+  compadd -M 'r:|[_-]=* r:|=*' "$expl[@]" - -version
+fi
+
 _arguments -s \
-  -{b,c,f,q,r,v,w} \
-  -{s,l} \
-  '-p:command:->command' \
+  '-b[background]' \
+  '-c[crlf]' \
+  '-f[fork]' \
+  '-q[quit]' \
+  '-r[read only]' \
+  '-v[verbose]' \
+  '-w[write only]' \
+  '-s[server]' \
+  '-l[loop]' \
+  '-p[program]:command:->command' \
   ':arg1:->arg1' \
   ':arg2:->arg2'
 
 case "$state" in
 command)
   compset -q
-  _normal
+  if [[ $CURRENT -eq 1 ]]; then
+    _command_names -e "$@"
+  else
+    _normal
+  fi
   ;;
 
 arg1)
   if (( $+options[-s] )); then
-    _message 'port to listen'
+    _description expl 'port to listen'
+    _ports "$expl[@]"
   else
     _description expl 'host'
     _combination socket_hosts_ports hosts "$expl[@]"