URI: 
       tadd plumbing files. - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit e70f30508317d83b3f65704229c198aba2b10730
   DIR parent 1379cecf675b52e268cf913699301b027ec7f816
  HTML Author: rsc <devnull@localhost>
       Date:   Sun, 23 Nov 2003 18:30:04 +0000
       
       add plumbing files.
       
       Diffstat:
         A plumb/basic                         |     105 +++++++++++++++++++++++++++++++
         A plumb/fileaddr                      |       3 +++
       
       2 files changed, 108 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/plumb/basic b/plumb/basic
       t@@ -0,0 +1,105 @@
       +# 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)'
       +arg isfile        $0
       +plumb to image
       +plumb client page -wi
       +
       +# 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 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 start /usr/local/plan9/bin/B $file
       +#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
   DIR diff --git a/plumb/fileaddr b/plumb/fileaddr
       t@@ -0,0 +1,3 @@
       +addrelem='((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$])'
       +addr=:($addrelem([,;+\-]$addrelem)*)
       +