summaryrefslogtreecommitdiff
path: root/acme/bin/adiff
diff options
context:
space:
mode:
Diffstat (limited to 'acme/bin/adiff')
-rwxr-xr-xacme/bin/adiff24
1 files changed, 24 insertions, 0 deletions
diff --git a/acme/bin/adiff b/acme/bin/adiff
new file mode 100755
index 000000000..3d3d188f5
--- /dev/null
+++ b/acme/bin/adiff
@@ -0,0 +1,24 @@
+#!/bin/rc
+
+if(~ $#* 0 1){
+ echo >[1=2] usage: adiff file1 file2
+ echo >[1=2] or adiff file1 file2... dir
+ exit usage
+}
+
+dir = /mnt/wsys
+if(! test -f $dir/cons)
+ dir = /mnt/term/$dir
+id=`{cat $dir/new/ctl}
+id=$id(1)
+
+l=$1
+r=$2
+if (test -d $1) l=$1/`{basename $2}
+if not if (test -d $2) r=$2/`{basename $1}
+
+echo 'name '^`{pwd}^/-diff-^`{basename $l} > $dir/$id/ctl
+
+diff $* | awk -v 'l='$l -v 'r='^$r '/^diff/ {l=$2; r=$3; next} /^[1-9]/ {sub("[acd]", " & " r ":"); sub("^", l ":", $0)}
+ {print $0}' > $dir/$id/body
+echo clean > $dir/$id/ctl