# these are in order from most specific to least, # since first rule that fires wins. # image files go to wm/view kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(jpg|jpeg|gif|bit|png)' data isfile $0 plumb to view plumb start /dis/wm/view.dis -i $file # sounds go to auplay kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(iaf|wav)' data isfile $0 plumb alwaysstart auplay plumb start /dis/auplay.dis $file # URLs go to internet explorer kind is text data matches '(https?|ftp|file|gopher|mailto|news|nntp|telnet|wais|prospero)://[a-zA-Z0-9_@\-]+([.:][a-zA-Z0-9_@\-]+)*/?[a-zA-Z0-9_?,%#~&/\-+=@]+([:.][@a-zA-Z0-9_?,%#~&/\-+=]+)*' plumb alwaysstart winstart plumb start /dis/sh.dis -c 'winstart $0' # PDF files go to Windows kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(pdf|ps|doc|xls)' data isfile $0 dir matches '/n/(c|d|h).*' dir isdir $0 plumb alwaysstart winstart plumb start /dis/sh.dis -c 'winstart `{cleanname -d $dir $file |sed -e s@/n/d@file:///D:@ -e s@/n/h@file:///H:@ -e s@/n/c@file:///C:@ }' # file URLs go to wm/charon kind is text data matches '[a-zA-Z0-9_/\-]+\.html?' data isfile $0 data set file://localhost$file plumb to web plumb start /dis/charon.dis $data # .m files are looked up in /module and passed to acme kind is text data matches '([a-zA-Z0-9]+\.m)(:(((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$])([,;+\-]((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$]))*))?' data isfile /module/$1 data set $file attr set 'action=showfile addr=$3' plumb to edit plumb start /dis/acme.dis -c1 $file # existing files, possibly tagged by line number, go to acme kind is text data matches '([.a-zA-Z0-9_/\-]+[a-zA-Z0-9_/\-])(:(((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$])([,;+\-]((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$]))*))?' data isfile $1 data set $file attr set 'action=showfile addr=$3' plumb to edit plumb start /dis/acme.dis -c1 $file # existing files go to acme kind is text data matches '[a-zA-Z0-9_./\-]+' data isdir $0 plumb to edit plumb start /dis/acme.dis -c1 $dir # man pages kind is text data matches '([a-zA-Z¡-￿0-9_\-./]+)\(([0-9]+)\)' plumb alwaysstart man # nasty plumbing hack plumb start /dis/sh.dis -c '{plumb -d edit -a action showdata -a filename ''/man/$1($2)'' "{man $2 $1 >[2=1]}}' #plumb start /dis/wm/man.dis $2 $1 # change plumb namespace kind is text data matches 'Local (.*)' plumb to none plumb start /dis/sh.dis -n -c $1