QA Graphic

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:

buildbot2.jpg

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:

buildresults.jpg

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!

 

About

I find TextExpander, by Smile on My Mac, to be an awesome productivity tool. This past winter, I posted some cool snippets that demonstrate the power of the application. Occasionally, I will post some new snippets that I think will be useful in anyone's TextExpander library.

Schedule

Friday 14 Macintosh
Saturday 15 Internet Tools
Sunday 16 Misc
Monday 17 Media
Tuesday 18 QA
Wednesday 19 Python
Thursday 20 Final Cut Pro