about summary refs log tree commit diff
path: root/Completion/User/_telnet
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/_telnet
parent189116eac0f70862330cb9a6e49a7a85474ea7fa (diff)
downloadzsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.gz
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.tar.xz
zsh-e644c39ba1688c6b9c30afc86e4bf25a8bd47d3c.zip
zsh-workers/7781
Diffstat (limited to 'Completion/User/_telnet')
-rw-r--r--Completion/User/_telnet10
1 files changed, 8 insertions, 2 deletions
diff --git a/Completion/User/_telnet b/Completion/User/_telnet
index 54d9a0a2d..594dcf2e5 100644
--- a/Completion/User/_telnet
+++ b/Completion/User/_telnet
@@ -1,5 +1,11 @@
 #compdef telnet
 
+# Parameter used:
+#
+#  telnet_ports
+#    The associative array that maps a host name to a space-separated list of
+#    ports.
+
 _arguments -s \
   -{F,f,x} \
   '-8[allow 8-Bit data]' \
@@ -16,6 +22,6 @@ _arguments -s \
   '-l+[specify user]:user:' \
   '-n+[specify tracefile]:tracefile:_files' \
   '-r[rlogin like user interface]' \
-  ':host:_hosts' \
-  ':port:{ _hostports $line[2] "$expl[@]" }'
+  ':host:{ compadd "$expl[@]" - ${(k)telnet_ports} || _hosts "$expl[@]" }' \
+  ':port:{ if (( $+telnet_ports )); then compadd "$expl[@]" - ${=telnet_ports[$line[2]]}; else _message "port"; fi }'