I’m writing this review, ironically, on the very product that I’m reviewing. I’m testing out its spell check and whatnot. If you didn’t know already, this is TextMate, yet another text editor for Mac OS X.
I’ll skip the usual stuff, since we all know how a typical text editor works. We also know that some have special features, like auto-complete, that make our typing a lot easier in small ways. Text editors on Mac OS X have been able to use the standard features that Apple has created – like spellcheck – and it all adds up to it “feel” like a real Mac app.
TextMate is more unique than I first assumed. I’m branching it – in my brain – as a cross between the features of BBEdit, with a taste of Dreamweaver and XCode mixed in. It does have the auto-complete, like Dreamweaver, for use with typing various things. However, that autocomplete is focused on different things than Dreamweaver. some elements, like quotes, are completed, and you can just type in the text in between the quotes. I kind of wish that TextMate would treat HTML as Dreamweaver does – the closing tags are added when you add the slash in the tag. We programmers are collectively lazy… we need all the help we can get. Edit: On further inspection, it’s in the “Automation” menu. Why isn’t there at least an option for this feature… it’s there for parenthesis and quotes… why not tags?
TextMate, like BBEdit, lets you create a new document from a template. You can pick from way too many different possible programming languages. I tried out the HTML templates, which are good. There is also one template for an Objective-C object… just a single NSObject subclass, with two files – a .h file and a .mm file. I’m not sure how useful the Objective-C stuff is, since it’s not nearly as convienient as XCode. And XCode is free, so for this particular purpose, I don’t see much need for TextMate.
In addition, the complexity of HTML (with all of those nested tags and trees of crazy confusing code) is all answered with these little arrow things that appear on the left grey strip on the side of the text editing window. If you click on them, they collapse and turn into one. The block of code that’s represented by those arrows becomes quite a bit smaller. This feature also works on my Cocoa code that I’ve tried, but it’s most useful on HTML because of the scripting language’s nesting structure.
If you have some very specific needs for the text editor templates you use, TextMate allows you to create new templates. You can also edit other language-handling portions of the program with a “bundle editor” in the program. It might take you a second to understand how this thing works, but it’s pretty cool. It needs a redesign at some point to make it more clear on what to do for new users.
If you’re an Objective-C programmer, but want an editor that’s better than XCode, you might find BBEdit more useful. But try TextMate first, and see if it does what you want it to with the templates. Both BBEdit and TextMate use very custom views, thus getting around the bugs associated with NSTextView.
TextMate is a very clear competitor to BBEdit (and starts to cover the features of Dreamweaver), and is actually much cheaper at 39 euros ($47 US). If you’re focusing on HTML, or have very custom template needs, this program could be very useful. If you’re a poor student, SubEthaEdit will serve your needs fairly well, but without the automation. There is a TextMate demo that you can try out by downloading it from their web site at http://macromates.com.
Update: After playing with it a bit more, I’ve realized it has this annoying habit that’s driving me up the wall… it seems as though, every time I load it, it has to download yet another update! What the heck for?! I won’t get too down on this subject, but I hope they make these updates less frequent, or put some noticable features in. These are all bugfixes… more and more bugfixes! That doesn’t bode well for them. I’ve got a huge HTML-based project coming up, so I’ll try TextMate on that, and see how it goes.