all repos — dotfiles @ main

random configuration files

plumbing (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# 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

# relative files as file: urls get made into absolute paths
type is text
data matches 'file:([.a-zA-Z¡-￿0-9_\-]([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-]))?'
arg isfile	$1
data set	file://$file
plumb to web
plumb start web $data

# urls go to web browser
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_?,%#~&/\-+=]+)*'
plumb to web
plumb start web $0

# 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

# 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|png|PNG)'
arg isfile	$0
plumb to image
plumb start qiv $file

# music/video files go to mpv
type is text
data matches '[a-zA-Z¡-￿0-9_\-./@ ]+'
data matches '([a-zA-Z¡-￿0-9_\-./@ ]+)\.(mp3|MP3|wav|WAV|ogg|OGG|opus|OPUS|avi|AVI|mp4|MP4|mkv|MKV)'
arg isfile	$0
plumb to mpv
plumb start mpv $file

# 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 zathura $file

# open office - s[xt][cdigmw], doc, xls, ppt
data matches '[a-zA-Z¡-￿0-9_\-./@ ]+'
data matches '([a-zA-Z¡-￿0-9_\-./@ ]+)\.([Ss][XxTt][CcDdIiGgMmWw]|[Dd][Oo][Cc]|[Xx][Ll][Ss]|[Pp][Pp][Tt])'
arg isfile	$0
plumb to libreoffice
plumb start libreoffice $file

# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor
type is text
data matches '([.a-zA-Z¡-￿0-9_/\-@]*[a-zA-Z¡-￿0-9_/\- ])':$twocolonaddr,$twocolonaddr
arg isfile     $1
data set       $file
attr add       addr=$2-#0+#$3-#1,$4-#0+#$5-#1
plumb to edit
plumb client $editor

# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor
type is text
data matches '([.a-zA-Z¡-￿0-9_/\-@]*[a-zA-Z¡-￿0-9_/\- ])':$twocolonaddr
arg isfile     $1
data set       $file
attr add       addr=$2-#0+#$3-#1
plumb to edit
plumb client $editor

# 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 $editor

# .h files are looked up in /usr/include and passed to edit
type is text
data matches '([a-zA-Z¡-￿0-9/_\- ]+\.h)('$addr')?'
arg isfile	/usr/include/$1
data set	$file
attr add	addr=$3
plumb to edit
plumb client $editor

# .h files are looked up in /usr/local/include and passed to edit
type is text
data matches '([a-zA-Z¡-￿0-9/_\- ]+\.h)('$addr')?'
arg isfile	/usr/local/include/$1
data set	$file
attr add	addr=$3
plumb to edit
plumb client $editor

# .h files are looked up in $plan9/include and passed to edit
type is text
data matches '([a-zA-Z¡-￿0-9/_\- ]+\.h)('$addr')?'
arg isfile	$plan9/include/$1
data set	$file
attr add	addr=$3
plumb to edit
plumb client $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

# 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 /home/nilix/src/zenUtils/muttwrapper.sh $0
# plumb start window rc -c '''echo % mail '''$0'; mail '$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] | nobs | plumb -i -d edit -a ''action=showdata filename=/man/'$1'('$2')'''