-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
David, Looks great....Now the stupid question. How do I use it?
Should I place this in TextMate as a snippet and then type in a line of regexp to test and run the rx_helper over it, or install this a as a command within the ruby bundle. Alternately, should I have my file open in textmate and then write my rexexp in the "filter through command" after calling rx_helper.
Thanks for the work, and the time to explain its use
Robert
On Apr 3, 2005, at 6:37 AM, David Lee wrote:
Hi all
I've written a short ruby script for the purposes of checking regular expressions within TextMate.
http://dml.homedns.org/rx_helper.rb
It expects to be fed a regular expression on a line of its own, followed by any number of lines to test against. The RX can be either a straight match (eg ^([a-z]+):([0-9]+ ) or a substitution (eg, /old/new/). Cuddling /slashes/ are only required for /pattern/replacement/ expressions.
If you create the following action in TextMate:
echo "$TM_SELECTED_TEXT" | /path_to_script/rx_helper.rb
with input='selected text' & output='show as tooltip', you can open a new window, write a regexp, write some test cases for your regexp, then select-all and see the results in a tooltip whenever you need it (I have it bound to ctrl-alt-option-X).
I hope someone finds it useful. If you find any bugs / have any suggestions on how to improve it, please do let me know.
cheers
D
P.S here's some sample input and output:
IN (TextMate scratch file)
(http|https|ftp)://(([-_a-zA-Z1-9]+).)+([-_a-zA-Z1-9]{2,3}) http://www.google.com https://www.netbank.com.au ftp://mafia.ru www.clickstart.com boozehound gary sweeney http://www.amazon.com/ http://www.amazon.com/exec/obidos/subst/home/home.html/002-0270779 -6984007 ~
OUT (tooltip)
(http|https|ftp)://(([-_a-zA-Z1-9]+).)+([-_a-zA-Z1-9]{2,3}) Successful Matches: =================== http://www.google.com : matched expression match number [1] : http match number [2] : google. match number [3] : google match number [4] : com https://www.netbank.com.au : matched expression match number [1] : https match number [2] : com. match number [3] : com match number [4] : au ftp://mafia.ru : matched expression match number [1] : ftp match number [2] : mafia. match number [3] : mafia match number [4] : ru http://www.amazon.com/ : matched expression match number [1] : http match number [2] : amazon. match number [3] : amazon match number [4] : com http://www.amazon.com/exec/obidos/subst/home/home.html/002-0270779 -6984007 : matched expression match number [1] : http match number [2] : amazon. match number [3] : amazon match number [4] : com
Failed Matches:
www.clickstart.com : failed boozehound : failed gary sweeney : failed
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate