That's brilliant, thanks Brett.
I am curious to know why you have TextExpander disabled in TextMate.
That's where I use it most :-)
Thanks!
I actually disabled TextExpander in TextMate when I was using "expand immediately" on my snippets, and certain ones were conflicting too often. For example, I'd become very accustomed to my '-=' snippet in TextExpander, which produced "-Brett" for signing emails quickly, and '=-', which produced my full signature. These kinda get in the way when you want to do a little decrementing in your code :).
Since then I've switched to expanding after a tab press, so it's of less concern, I just haven't made the switch back yet. Plus, the snippets and commands I can build in TextMate are more flexible than what TextExpander can do, so duplicating the trigger in cases like this means more power when in TextMate, yet fewer triggers to remember system-wide...
One cool feature in TextExpander 3 is the snippet search. When I do want to use a TE snippet in TM, I just hit my hotkey to pop up the search field, type part of my TextExpander trigger, and hit enter. I get the best of both worlds that way.