about summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Type/_hosts13
1 files changed, 13 insertions, 0 deletions
diff --git a/Completion/Unix/Type/_hosts b/Completion/Unix/Type/_hosts
new file mode 100644
index 000000000..fc2970cb9
--- /dev/null
+++ b/Completion/Unix/Type/_hosts
@@ -0,0 +1,13 @@
+#compdef ftp ping rwho rup xping traceroute host
+
+local expl hosts
+
+if ! zstyle -a ":completion:${curcontext}:hosts" hosts hosts; then
+  (( $+_cache_hosts )) ||
+      : ${(A)_cache_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}}
+
+  hosts=( "$_cache_hosts[@]" )
+fi
+
+_wanted hosts expl host \
+    compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" -a hosts