Parse text using TextExpander
I have to use BuildBot to build branches for testing. This means that I have to fill out a bunch of fields to successfully build the developer box:
Developers are required to create branches with the Jira Ticket number in it, such as this:
XXX-12028-end-of-bugs
To make life easier I created a TextExpander snippet to quickly fill in all the fields in one quick abbreviation. In order to do this, I created a 'helper' Javascript snippet to parse the clipboard text to the Jira issue number out. I'll use this Jira number in the 'reason' field so other people will know what issue I am testing.
Step 1: Create a 'GrepJira' Javascript snippet:
This Javascript code will search for 'XXX-1111' in the clipboard text, you should change the text to whatever three digits for your Jira ticket:
var re = /(XXX-d{2,5})/i;
var str = "%clipboard";
var m;
if ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}
m[0];
I assigned 'GrepJira' as the abbreviation to this snippet. Perhaps a better strategy would be to use tm_GrepJira as an abbreviation, since it's for use only within TextExpander.
Step 2: Create the main snippet that will be used.
This is pretty much entering in a bunch of text separated with some pre-selected data:cryan%key:tab%qa %snippet:GrepJira%
%key:tab%%clipboard%key:tab%
This is what it looks like using the above example branch name:
To make it a bit easier, I color coded the fields with the text snippet. Hope this helps you get a general idea on how I use parsing text within TextExpander. Hope it helps you create some cool text snippets!