| # these are generally in order from most specific to least, |
| # since first rule that fires wins. |
| |
| include fileaddr |
| |
| # declarations of ports without rules |
| plumb to seemail |
| plumb to showmail |
| |
| # cheap http/gif,jpeg,ps,pdf renderer |
| type 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_?,%#~&/\-+=]+)*\.(jpe?g|JPE?G|gif|GIF|ps|PS|pdf|PDF)' |
| plumb start rc -c 'hget '$0' | page -w' |
| |
| # doc and rtf files go to wdoc2txt |
| type is text |
| data matches '[a-zA-Z¡-0-9_\-./]+' |
| data matches '([a-zA-Z¡-0-9_\-./]+)\.(doc|rtf)' |
| arg isfile $0 |
| plumb to msword |
| plumb start wdoc2txt $file |
| |
| # start rule for microsoft word documents without .doc suffix |
| type is text |
| dst is msword |
| plumb to msword |
| plumb start wdoc2txt $file |
| |
| # email addresses get a new mail window |
| type is text |
| data matches '[a-zA-Z0-9_+.\-]+@[a-zA-Z0-9_+.\-]*' |
| plumb to sendmail |
| plumb start window rc -c '''echo % mail '''$0'; mail '$0 |
| |
| # image files go to page |
| type is text |
| data matches '[a-zA-Z¡-0-9_\-./]+' |
| data matches '([a-zA-Z¡-0-9_\-./]+)\.(jpe?g|JPE?G|gif|GIF|tiff?|TIFF?|ppm|bit|png|PNG)' |
| arg isfile $0 |
| plumb to image |
| plumb start qiv -t $file |
| |
| # postscript/pdf/dvi go to page but not over the a plumb port |
| # the port is here for reference but is unused |
| type is text |
| data matches '[a-zA-Z¡-0-9_\-./]+' |
| data matches '([a-zA-Z¡-0-9_\-./]+)\.(ps|PS|eps|EPS|pdf|PDF|dvi|DVI)' |
| arg isfile $0 |
| plumb to postscript |
| plumb start gv $file |
| # plumb start page -w $file |
| |
| # existing files, possibly tagged by line number, go to editor |
| type is text |
| data matches '([.a-zA-Z¡-0-9_/\-]*[a-zA-Z¡-0-9_/\-])('$addr')?' |
| arg isfile $1 |
| data set $file |
| attr add addr=$3 |
| plumb to edit |
| plumb client $editor |
| |
| # .h files are looked up in /usr/include and passed to edit |
| type is text |
| data matches '([a-zA-Z¡-0-9]+\.h)('$addr')?' |
| arg isfile /usr/include/$1 |
| data set $file |
| attr add addr=$3 |
| plumb to edit |
| plumb client $editor |
| |
| # .h files are looked up in /usr/local/include and passed to edit |
| type is text |
| data matches '([a-zA-Z¡-0-9]+\.h)('$addr')?' |
| arg isfile /usr/local/include/$1 |
| data set $file |
| attr add addr=$3 |
| plumb to edit |
| plumb client $editor |
| |
| # .h files are looked up in /usr/local/plan9/include and passed to edit |
| type is text |
| data matches '([a-zA-Z¡-0-9]+\.h)('$addr')?' |
| arg isfile /usr/local/plan9/include/$1 |
| data set $file |
| attr add addr=$3 |
| plumb to edit |
| plumb client $editor |
| |
| # .m files are looked up in /sys/module and passed to edit |
| type is text |
| data matches '([a-zA-Z¡-0-9]+\.m)('$addr')?' |
| arg isfile /sys/module/$1 |
| data set $file |
| attr add addr=$3 |
| plumb to edit |
| plumb client window $editor |
| |
| # faces -> new mail window for message |
| type is text |
| data matches '[a-zA-Z¡-0-9_\-./]+' |
| data matches '/mail/fs/[a-zA-Z¡-0-9/]+/[0-9]+' |
| plumb to showmail |
| plumb start window -r 4 120 750 600 upas/nedmail -s $0 |
| |
| # man index entries are synthesized |
| type is text |
| data matches '([a-zA-Z¡-0-9_\-./]+)\(([1-8])\)' |
| plumb start rc -c 'man '$2' '$1' >[2=1] | nobs | plumb -i -d edit -a ''action=showdata filename=/man/'$1'('$2')''' |
| |
| # start rule for images without known suffixes |
| dst is image |
| arg isfile $data |
| plumb to image |
| plumb start qiv -t $data |
| |
| # start rule for postscript without known suffixes |
| dst is postscript |
| arg isfile $data |
| plumb start gv $data |
| |
| # urls to internet explorer on another machine |
| type 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 to web |
| plumb start web $0 |
| # plumb start winstart iexplore -new $0 |
| |