123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- # 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|png|PNG)'
- plumb start rc -c 'hget '$0' | page -w'
- # rtf files go to wdoc2txt
- type is text
- data matches '[a-zA-Z¡-0-9_\-./]+'
- data matches '([a-zA-Z¡-0-9_\-./]+)\.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|PPM|bit|BIT|png|PNG)'
- arg isfile $0
- plumb to image
- plumb client page -wi
- # postscript/pdf/dvi/doc 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|doc|DOC)'
- arg isfile $0
- plumb to postscript
- 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 window $editor
- # .h files are looked up in /sys/include and passed to edit
- type is text
- data matches '([a-zA-Z¡-0-9]+\.h)('$addr')?'
- arg isfile /sys/include/$1
- data set $file
- attr add addr=$3
- plumb to edit
- plumb client window $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] | plumb -i -d edit -a ''action=showdata filename=/man/'$1'('$2')'''
- # start rule for images without known suffixes
- dst is image
- plumb to image
- plumb client page -wi
- # start rule for postscript without known suffixes
- dst is postscript
- arg isfile $data
- plumb start page -w $data
- type is text
- data matches 'Local (.*)'
- plumb to none
- plumb start rc -c $1
|