tfinally got these working - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 47e0a2aa3c6e1ca2b8cd236b934f729fb721baba
DIR parent 63853aa06999bf26dd9590b864989f4f3008e694
HTML Author: rsc <devnull@localhost>
Date: Sun, 17 Oct 2004 04:02:55 +0000
finally got these working
Diffstat:
A bin/" | 29 +++++++++++++++++++++++++++++
A bin/"" | 10 ++++++++++
2 files changed, 39 insertions(+), 0 deletions(-)
---
DIR diff --git a/bin/" b/bin/"
t@@ -0,0 +1,29 @@
+#!/usr/local/plan9/bin/rc
+
+fn text {
+ if(~ $winid [0-9]*)
+ 9p read acme/$winid/body
+ if not if(~ $text9term unix!*)
+ dial -e $text9term </dev/null
+ if not
+ status=''
+}
+
+PROMPT='[^ ]*[%;$#][ ]+'
+
+fn cmds {
+ text | 9grep '^'$PROMPT'[^"]' | sed 's/^/ /'
+}
+
+switch($#*) {
+case 0
+ cmds | tail -1
+case *
+ cmds | 9grep '^ '$PROMPT^$"* | {echo; cat} |
+ pr -t -n | sort -nr | sort -u +1 | sort -n |
+ 9sed 's/^ *[0-9]+ //' | grep .
+}
+
+# the silly {echo; cat} gets around pr printing "empty file" when
+# presented with no input.
+
DIR diff --git a/bin/"" b/bin/""
t@@ -0,0 +1,10 @@
+#!/usr/local/plan9/bin/rc
+
+PROMPT='[^ ]*[%;$#][ ]+'
+
+" $* | tail -1 | tee >{wc -l >/tmp/qq.$pid} | tee /dev/stderr | 9sed 's/^ '$PROMPT'//' | rc
+if(~ `{cat /tmp/qq.$pid} 0){
+ echo no such command found
+ exit notfound
+}
+exit 0