plumb: column numbers in file address

R=rsc
http://codereview.appspot.com/2776042
diff --git a/plumb/basic b/plumb/basic
index c89b6c2..d40f6a4 100644
--- a/plumb/basic
+++ b/plumb/basic
@@ -59,6 +59,15 @@
 plumb to openoffice
 plumb start openoffice $file
 
+# existing files tagged by line number:columnumber or linenumber.columnumber, 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
+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')?'
diff --git a/plumb/fileaddr b/plumb/fileaddr
index 0f08dc3..cd2f120 100644
--- a/plumb/fileaddr
+++ b/plumb/fileaddr
@@ -1,3 +1,4 @@
 addrelem='((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$])'
 addr=:($addrelem([,;+\-]$addrelem)*)
 
+twocolonaddr = :([0-9]+)[:.]([0-9]+)