summaryrefslogtreecommitdiffstats
path: root/Completion/User/_socket
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-09-12 03:38:15 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-09-12 03:38:15 +0000
commite644c39ba1688c6b9c30afc86e4bf25a8bd47d3c (patch)
tree8d9bb4274b4c5df3f8bc41a2ce1a108c87dd54a1 /Completion/User/_socket
parentzsh-workers/7779 (diff)
downloadzsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.gz
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.bz2
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.lz
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.xz
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.zst
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.zip
zsh-workers/7781
Diffstat (limited to 'Completion/User/_socket')
-rw-r--r--Completion/User/_socket19
1 files changed, 15 insertions, 4 deletions
diff --git a/Completion/User/_socket b/Completion/User/_socket
index 353a66fd5..c7605a1ac 100644
--- a/Completion/User/_socket
+++ b/Completion/User/_socket
@@ -1,5 +1,12 @@
#compdef socket
+# Parameter used:
+#
+# socket_ports
+# The associative array that maps a host name to a space-separated list of
+# ports.
+
+
local state line expl
typeset -A options
@@ -18,17 +25,21 @@ command)
arg1)
if (( $+options[-s] )); then
- _message 'port'
+ _message 'port to listen'
else
_description expl 'host'
- _hosts "$expl[@]"
+ compadd "$expl[@]" - ${(k)socket_ports} || _hosts "$expl[@]"
fi
;;
arg2)
if (( ! $+options[-s] )); then
- _description expl 'port'
- _hostports $line[2] "$expl[@]"
+ _description expl 'port to connect'
+ if (( $+socket_ports )); then
+ compadd "$expl[@]" - ${=socket_ports[$line[2]]};
+ else
+ _message 'port to connect';
+ fi
fi
;;
esac