about summary refs log tree commit diff
path: root/Functions/Misc
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-09-06 11:18:26 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-09-06 11:18:26 +0000
commitcaf6190251af8e27d9cd6689dc2223f42546a770 (patch)
tree4a4b6cd508b8adf139b3d3216d4289929ff2176e /Functions/Misc
parent929c56748420b581088cd75443d21d7c06ac44d6 (diff)
downloadzsh-caf6190251af8e27d9cd6689dc2223f42546a770.tar.gz
zsh-caf6190251af8e27d9cd6689dc2223f42546a770.tar.xz
zsh-caf6190251af8e27d9cd6689dc2223f42546a770.zip
manual/7652-for-pws-3
Diffstat (limited to 'Functions/Misc')
-rw-r--r--Functions/Misc/nslookup34
1 files changed, 34 insertions, 0 deletions
diff --git a/Functions/Misc/nslookup b/Functions/Misc/nslookup
index 15afb2ff1..775e01e85 100644
--- a/Functions/Misc/nslookup
+++ b/Functions/Misc/nslookup
@@ -32,3 +32,37 @@ done
 
 print -p exit
 wait $pid
+# Simple wrapper function for `nslookup'. With completion if you are using
+# the function based completion system.
+
+setopt localoptions completealiases
+
+local char line compcontext=nslookup pid
+
+trap 'print -p exit;return' INT
+
+coproc command nslookup
+pid=$!
+
+while read -pk1 char; do
+  line="$line$char"
+  [[ "$line" = *'
+> ' ]] && break
+done
+print -nr - "$line"
+
+line=''
+while vared -p '> ' line; do
+  print -p "$line"
+  line=''
+  while read -pk1 char; do
+    line="$line$char"
+    [[ "$line" = *'
+> ' ]] && break
+  done
+  print -nr - "$line"
+  line=''
+done
+
+print -p exit
+wait $pid