about summary refs log tree commit diff
path: root/Completion/User/_domains
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-01-20 18:39:40 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-01-20 18:39:40 +0000
commit8d754910a260186dd0e19b4c69b6bafba55a54f6 (patch)
treeb57060ce76a3be2c789b6cce3cc7f553eed98950 /Completion/User/_domains
parentce1bba9f71428c788fe616b5a500022cc3c81459 (diff)
downloadzsh-8d754910a260186dd0e19b4c69b6bafba55a54f6.tar.gz
zsh-8d754910a260186dd0e19b4c69b6bafba55a54f6.tar.xz
zsh-8d754910a260186dd0e19b4c69b6bafba55a54f6.zip
zsh-workers/9388
Diffstat (limited to 'Completion/User/_domains')
-rw-r--r--Completion/User/_domains20
1 files changed, 20 insertions, 0 deletions
diff --git a/Completion/User/_domains b/Completion/User/_domains
new file mode 100644
index 000000000..9bd94a4fd
--- /dev/null
+++ b/Completion/User/_domains
@@ -0,0 +1,20 @@
+#autoload
+
+local expl domains tmp
+
+if ! zstyle -a ":completion${curcontext}:domains" domains domains; then
+  if (( ! $+_cache_domains )); then
+    _cache_domains=()
+    if [[ -f /etc/resolv.conf ]]; then
+      while read tmp; do
+        [[ "$tmp" = (domain|search)* ]] &&
+            _cache_domains=( "$_cache_domains[@]" "${=${tmp%%[ 	]#}#*[ 	]}" )
+      done < /etc/resolv.conf
+      _cache_domains=( "${(@)_nslookup_domains:#[ 	]#}" )
+    fi
+  fi
+  domains=( "$_cache_domains[@]" )
+fi
+
+_wanted domains expl domain &&
+    compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" "$expl[@]" - "$domains[@]"