123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- # 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
- # open urls with web browser
- type is text
- data matches 'https?://[^ ]+'
- plumb to web
- plumb client window $browser
- # 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
- # audio
- type is text
- data matches '[a-zA-Z¡-0-9_\-.,/]+'
- data matches '([a-zA-Z¡-0-9_\-.,/]+)\.(mp3|ogg|flac|m3u|pls)'
- arg isfile $0
- plumb to audio
- plumb start window play $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|pgm|PGM|bmp|BMP|yuv|YUV)'
- arg isfile $0
- plumb to image
- plumb client page -wi
- # page bookmarks
- type is text
- data matches '(([a-zA-Z¡-0-9_\-.,/]+)\.(ps|PS|eps|EPS|pdf|PDF|dvi|DVI|doc|DOC|epub|EPUB|cb[tz]|CB[TZ]))!(.+)'
- arg isfile $1
- data set $file
- attr add addr=$4
- plumb to image
- plumb start page -wij $0 $file
- # 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|epub|EPUB|cb[tz]|CB[TZ])'
- 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 /usr/inferno/module and passed to edit
- type is text
- data matches '([a-zA-Z¡-0-9]+\.m)('$addr')?'
- arg isfile /usr/inferno/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 -b '$2' '$1'
- # RFC references are looked up in /lib/rfc and passed to editor
- type is text
- data matches 'RFC ?([0-9]+)'
- arg isfile /lib/rfc/rfc$1
- data set $file
- plumb to edit
- plumb client window $editor
- # 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
|