17dd7cddfSDavid du Colombier# these are generally in order from most specific to least, 27dd7cddfSDavid du Colombier# since first rule that fires wins. 37dd7cddfSDavid du Colombier 47dd7cddfSDavid du Colombierinclude fileaddr 57dd7cddfSDavid du Colombier 67dd7cddfSDavid du Colombier# declarations of ports without rules 77dd7cddfSDavid du Colombierplumb to seemail 87dd7cddfSDavid du Colombierplumb to showmail 97dd7cddfSDavid du Colombier 103ff48bf5SDavid du Colombier# cheap http/gif,jpeg,ps,pdf renderer 113ff48bf5SDavid du Colombiertype is text 1217dd33a2SDavid du Colombierdata 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)' 131066d6deSDavid du Colombierplumb start rc -c 'hget '''$0''' | page -w' 143ff48bf5SDavid du Colombier 1543aadf5eSDavid du Colombier## open urls with abaco web browser 1643aadf5eSDavid du Colombier#type is text 1743aadf5eSDavid du Colombier#data matches 'https?://[a-zA-Z0-9_@\-]+([.:][a-zA-Z0-9_@\-]+)*/?[a-zA-Z0-9_?,%#~&/\-+=]+([:.][a-zA-Z0-9_?,''%#~&/\-+=;]+)*' 1843aadf5eSDavid du Colombier#plumb to web 1943aadf5eSDavid du Colombier#plumb client window abaco 2043aadf5eSDavid du Colombier 21f5736e95SDavid du Colombier# rtf files go to wdoc2txt 229a747e4fSDavid du Colombiertype is text 239a747e4fSDavid du Colombierdata matches '[a-zA-Z¡-0-9_\-./]+' 24f5736e95SDavid du Colombierdata matches '([a-zA-Z¡-0-9_\-./]+)\.rtf' 259a747e4fSDavid du Colombierarg isfile $0 269a747e4fSDavid du Colombierplumb to msword 279a747e4fSDavid du Colombierplumb start wdoc2txt $file 289a747e4fSDavid du Colombier 299a747e4fSDavid du Colombier# start rule for microsoft word documents without .doc suffix 309a747e4fSDavid du Colombiertype is text 319a747e4fSDavid du Colombierdst is msword 329a747e4fSDavid du Colombierplumb to msword 339a747e4fSDavid du Colombierplumb start wdoc2txt $file 349a747e4fSDavid du Colombier 359a747e4fSDavid du Colombier# email addresses get a new mail window 369a747e4fSDavid du Colombiertype is text 375d459b5aSDavid du Colombierdata matches '[a-zA-Z0-9_+.\-]+@[a-zA-Z0-9_+.\-]*' 389a747e4fSDavid du Colombierplumb to sendmail 399a747e4fSDavid du Colombierplumb start window rc -c '''echo % mail '''$0'; mail '$0 409a747e4fSDavid du Colombier 417dd7cddfSDavid du Colombier# image files go to page 427dd7cddfSDavid du Colombiertype is text 437dd7cddfSDavid du Colombierdata matches '[a-zA-Z¡-0-9_\-./]+' 4437a6523bSDavid du Colombierdata 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)' 457dd7cddfSDavid du Colombierarg isfile $0 467dd7cddfSDavid du Colombierplumb to image 477dd7cddfSDavid du Colombierplumb client page -wi 487dd7cddfSDavid du Colombier 49f5736e95SDavid du Colombier# postscript/pdf/dvi/doc go to page but not over the a plumb port 507dd7cddfSDavid du Colombier# the port is here for reference but is unused 517dd7cddfSDavid du Colombiertype is text 527dd7cddfSDavid du Colombierdata matches '[a-zA-Z¡-0-9_\-./]+' 53f5736e95SDavid du Colombierdata matches '([a-zA-Z¡-0-9_\-./]+)\.(ps|PS|eps|EPS|pdf|PDF|dvi|DVI|doc|DOC)' 547dd7cddfSDavid du Colombierarg isfile $0 557dd7cddfSDavid du Colombierplumb to postscript 567dd7cddfSDavid du Colombierplumb start page -w $file 577dd7cddfSDavid du Colombier 587dd7cddfSDavid du Colombier# existing files, possibly tagged by line number, go to editor 597dd7cddfSDavid du Colombiertype is text 6037a6523bSDavid du Colombierdata matches '([.a-zA-Z¡-0-9_/+\-]*[a-zA-Z¡-0-9_/+\-])('$addr')?' 617dd7cddfSDavid du Colombierarg isfile $1 627dd7cddfSDavid du Colombierdata set $file 637dd7cddfSDavid du Colombierattr add addr=$3 647dd7cddfSDavid du Colombierplumb to edit 657dd7cddfSDavid du Colombierplumb client window $editor 667dd7cddfSDavid du Colombier 677dd7cddfSDavid du Colombier# .h files are looked up in /sys/include and passed to edit 687dd7cddfSDavid du Colombiertype is text 697dd7cddfSDavid du Colombierdata matches '([a-zA-Z¡-0-9]+\.h)('$addr')?' 707dd7cddfSDavid du Colombierarg isfile /sys/include/$1 717dd7cddfSDavid du Colombierdata set $file 727dd7cddfSDavid du Colombierattr add addr=$3 737dd7cddfSDavid du Colombierplumb to edit 747dd7cddfSDavid du Colombierplumb client window $editor 757dd7cddfSDavid du Colombier 76c54d4d90SDavid du Colombier# .m files are looked up in /usr/inferno/module and passed to edit 779a747e4fSDavid du Colombiertype is text 789a747e4fSDavid du Colombierdata matches '([a-zA-Z¡-0-9]+\.m)('$addr')?' 79c54d4d90SDavid du Colombierarg isfile /usr/inferno/module/$1 809a747e4fSDavid du Colombierdata set $file 819a747e4fSDavid du Colombierattr add addr=$3 829a747e4fSDavid du Colombierplumb to edit 839a747e4fSDavid du Colombierplumb client window $editor 849a747e4fSDavid du Colombier 857dd7cddfSDavid du Colombier# faces -> new mail window for message 867dd7cddfSDavid du Colombiertype is text 877dd7cddfSDavid du Colombierdata matches '[a-zA-Z¡-0-9_\-./]+' 887dd7cddfSDavid du Colombierdata matches '/mail/fs/[a-zA-Z¡-0-9/]+/[0-9]+' 897dd7cddfSDavid du Colombierplumb to showmail 907dd7cddfSDavid du Colombierplumb start window -r 4 120 750 600 upas/nedmail -s $0 917dd7cddfSDavid du Colombier 927dd7cddfSDavid du Colombier# man index entries are synthesized 937dd7cddfSDavid du Colombiertype is text 9459cc4ca5SDavid du Colombierdata matches '([a-zA-Z¡-0-9_\-./]+)\(([1-8])\)' 951066d6deSDavid du Colombierplumb start rc -c 'man -b '$2' '$1' 967dd7cddfSDavid du Colombier 97*84860c5dSDavid du Colombier# RFC references are looked up in /lib/rfc and passed to editor 98*84860c5dSDavid du Colombiertype is text 99*84860c5dSDavid du Colombierdata matches 'RFC ?([0-9]+)' 100*84860c5dSDavid du Colombierarg isfile /lib/rfc/rfc$1 101*84860c5dSDavid du Colombierdata set $file 102*84860c5dSDavid du Colombierplumb to edit 103*84860c5dSDavid du Colombierplumb client window $editor 104*84860c5dSDavid du Colombier 1057dd7cddfSDavid du Colombier# start rule for images without known suffixes 1067dd7cddfSDavid du Colombierdst is image 1077dd7cddfSDavid du Colombierplumb to image 1087dd7cddfSDavid du Colombierplumb client page -wi 1097dd7cddfSDavid du Colombier 1107dd7cddfSDavid du Colombier# start rule for postscript without known suffixes 1117dd7cddfSDavid du Colombierdst is postscript 1127dd7cddfSDavid du Colombierarg isfile $data 1137dd7cddfSDavid du Colombierplumb start page -w $data 1149a747e4fSDavid du Colombier 1159a747e4fSDavid du Colombiertype is text 1169a747e4fSDavid du Colombierdata matches 'Local (.*)' 1179a747e4fSDavid du Colombierplumb to none 1189a747e4fSDavid du Colombierplumb start rc -c $1 119