shithub: fork

Download patch

ref: e3d3acac74ab17ff5650260864a5f2e18e75c934
parent: a97ab10de23fbf70edf920c07ee253dc5ab39ded
author: qwx <qwx@sciops.net>
date: Wed Jan 7 05:39:47 EST 2026

/sys/lib/plumb: fix upper range for unicode regex

--- /dev/null
+++ b/sys/lib/plumb/basic
@@ -1,0 +1,130 @@
+# 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|MP3|ogg|OGG|flac|FLAC|wav|WAV|au|AU|mid|MID|mus|MUS|m3u|M3U|pls|PLS|plist|PLIST)'
+arg isfile	$0
+plumb to audio
+plumb start window -scroll play $file
+
+# 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|tga|TGA)'
+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 $file!$4 $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 -noscroll -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-9])\)'
+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
--