TextMate News

Anything vaguely related to TextMate and macOS.

Posted by Allan Odgaard


Getting into TextMate

I recently read Adam Knight’s tale of how he was periodically exposed to TextMate yet it took a lot of pressure before he really got into it.

This is certainly not unusual. While the user base is growing at speeds I would never have imagined (but then, I am not known for my optimism), TextMate, for some people, still comes of as too different, complex, bland, or whatnot.

Fortunately for me, there is a user community making up for current shortcomings in presentation. Brett Terpstra recently posted Digging in to TextMate which gives the new user a walkthrough of what is what. It also links to other resources such as the upcoming book about TextMate and Soryu’s tutorials.

Vladimir Cvetic posted a comparison between vim and TextMate which might be helpful for vim users willing to make the switch.

Finally, for users who want a quick feel for what all the rave is about, I highly recommend you watch some of the screencasts. If you do HTML, there is a screencast for HTML, for a general feel for how versatile the editor is, there is a Working With Numbers and Blogging From TextMate screencast.

For people working with Objective-C, be sure to watch these two. Though they do not show the excellent front end to xcodebuild, the recently added code completion, nor that the documentation lookup also works for selectors.

A screencast is also missing for Subversion support, but it is there! :)

Posted by Allan Odgaard


XML / XSL Support

Todd Ditchendorf has been active improving the XML / XSL support in TextMate, he both did a bundle with XSLT snippets and the following two plug-ins:

The TeXMLMate Plug-in adds an XML parsing palette to the popular TextMate text editor for Mac OS X. While editing an XML (or XHTML) document in TextMate, you can open the TeXMLMate palette to conveniently check your document for well-formedness or validity against a DTD, W3C XML Schema, RELAX NG schema, or Schematron schema

Latest version also allows you to run XPath expressions against your document and see the selected nodes.

The TeXSLMate Plug-in adds an XSLT/XQuery debugging palette to the popular TextMate text editor for Mac OS X. While editing an XSTL stylesheet or XQuery program in TextMate, you can open the TeXSLMate palette to conveniently transform/execute the stylesheet/query against any source file and see different views of the result as well as console error messages

His instructions tells you to quit TextMate and copy the plug-in to the appropriate destination, but of course you can also just double-click it and let TextMate take care of it! :)

Andreas Schöller also posted a bundle with XSLT snippets.

Posted by Allan Odgaard


Back from Vacation

Those following the mailing list or who have set TextMate to check for cutting edge builds have probably noticed that I am back.

Read the rest of the post »

Posted by Benny Kjær Nielsen


Interview at Rands in Repose

Before Allan went on vacation in late november, he gave an interview to Rands in Repose and it is now published. Rands in Repose has previously published a very nice article on the subject of TextMate titled Bright, Patient Design.

On a side note, when Allan comes back, he is probably going to be very happy to see the ranking of TextMate on the current Amazon UnSpun list of Best Text Editors.

Posted by Benny Kjær Nielsen


TextMate is a Jolt Award Finalist

A few days ago, it was announced that TextMate is a finalist in the utilities category of the 17th Annual Jolt Product Excellence Awards.

The following is a quote from the press release:

For the past 16 years, the Dr. Dobb’s Jolt Product Excellence Awards have been presented annually to showcase products that have “jolted” the industry with their significance and made the task of creating software faster, easier, and more efficient.

TextMate is one of six finalists in the utilities category. According to the press release, one Jolt Award and three Productivity Awards will be presented for each category at the awards ceremony on March 21, 2007.

Posted by Benny Kjær Nielsen


Macworld 2007 Follow-up

As previously written, Macworld 2007 included a TextMate booth at the Apple Design Awards pavilion. Since Allan is on vacation, he was not present at the exhibition himself. Instead, Jacob Rus, Michael Sheets and Stanley Rost had kindly agreed to represent him.

An image of the TextMate booth at Macworld is available and Jacob Rus gave an interview to PodTech. During the exhibition, a simple guestbook blog was set up to demonstrate Brad Choate’s blogging bundle.

On Allan’s behalf, I would like to thank Jacob, Michael and Stanley for their hard work at Macworld, along with everyone who stopped by to visit. Allan is still enjoying his long vacation in New Zealand and he will be back in about 2 weeks (9th of February).

Posted by Allan Odgaard

Updating a Bundle

TextMate includes three dozen default bundles. These are automatically updated when you get an update to TextMate, so you generally do not want to do a checkout of these manually, unless you want to contribute to a bundle.

There are no planned updates to TextMate while I am on vacation but a swarm of volunteers will still update the bundles, so you may want to make an exception to this rule, for the next few months.

Read the rest of the post »

Posted by Allan Odgaard


New Zealand (Vacation)

Wednesday the 29th of November I am leaving for New Zealand. I will be gone for no less than 10 weeks, so the return date is the 9th of February 2007.

While I am gone, I recommend that you send usage questions and similar to the mailing list or use the IRC channel. And for problems, be sure to check the self-help section at the wiki and skim the table of contents of the manual for a potential feature you seek.

Should you have a problem with the purchase interface or similar, you can of course still use the appropriate email addresses at the contact page, as there will be someone handling this while I am gone.

Posted by Allan Odgaard


Macworld 2007

This January booth S1538 at the Macworld exhibition will be staffed by:

  • Jacob Rus (jacobolus)
  • Michael Sheets (infininight)
  • Stanley Rost (Soryu)

They are all indirectly involved in the development and thus have good insight into the future direction of TextMate. So if you want to ask questions, discuss features, or just say hi, be sure to drop by the TextMate booth found at the ADC pavilion.

If you are in search of a free pass, look no further.

Posted by Allan Odgaard


Backpack Bundle

Brett Terpstra has released an update to his Backpack bundle. It is still a pre-release, but I have tested it, and it works for me :)

Here is his initial post about the bundle and for the uninitiated, Backpack is a web application from 37signals which has simple to-do lists, notes, and reminders.

Posted by Allan Odgaard


TextMate Homage

When David first wrote about TextMate he mentioned how on Windows he had UltraEdit, and knew of TextPad as a decent alternative. In fact there should be at least half a dozen well known editors on Windows.

These editors still exist, but based on my inbox (and the latter comments for this blog entry) Windows users are craving for more, they want TextMate!

Read the rest of the post »

Posted by Allan Odgaard


2.0 Will Require Leopard

In my last entry I mentioned that I am 90% decided on making TextMate 2.0 Leopard only.

R Lafourcade was quick to post a comment trying to talk me out of it, so let me elaborate a bit.

Read the rest of the post »

Posted by Allan Odgaard


Faking CJK Support

When I released TextMate two years ago it was intended as a source code editor, and choices made during development reflects that, like its bias toward fixed width fonts and western input methods.

It has since surpassed my wildest expectations about what it would be used for, though until recently, CJK was still not an option.

But devoted users have made CJK bearable, the “hack” comes in two parts:

  1. A bundle by Hans-Joerg Bibiko with an input CJK command. This pops up a control where you can type the CJK text to be inserted.

    2006-11-12: There now is a CJK-input plug-in.

  2. A modified font that has the CJK glyphs in half width (screenshot), so they work with TextMate’s fixed width font display. Instructions for this are here.

I still hope to offer real CJK support in 2.0 (but please don’t send me hate mail if I do not come through). I am 90% decided on switching to CoreText for text rendering (and making 2.0 Leopard only) and when doing so, I will get rid of current text rendering limitations. The CJK input part is more tricky, but now that I have Apple Technical Support Incidents at my disposal, I am slightly more optimistic.

Posted by Allan Odgaard

TextMate Talk at CocoaHeads

2006-11-12: The event is over and slides are available at Scott’s blog. They might not have that many details, but they sure are stylish!

If you live within driving distance of Apple then you should visit the next CocoaHeads meeting (this Thursday) where Scott Stevenson will give a TextMate talk with focus on using TextMate for Cocoa development (and he will give two lucky attendees a free license to the program).

And on the topic, I should link to Scott’s explanation of a recent addition to TextMate: Cocoa method completion — thanks to Joachim Mårtensson for this great contribution (it also includes being able to press ⌃H on a method and go directly to the documentation for that method).

And of course thanks to Scott for showcasing TextMate.

Posted by Allan Odgaard

1 Comment

CSS Workflow Improvements

I just added a proposed image drag command for CSS which inserts different markup based on context, i.e. whether the drop is done as the argument to background, in the root scope of the CSS file, inside url(), etc.

As Justin Palmer’s recent post about CSS image insertion shows, there are other ways to decide on what markup to insert, for example based on (file) naming conventions. I encourage you to go read his inspirational post also to learn how easy these things are to customize (he has nice embedded screencasts to show the functionality he developed). He also did a simple command to find all images in the current project, and offer them to be inserted via a menu.

Recently Brett Terpstra of Circle Six Design also posted about some neat CSS workflow improvements, the bundle was refined based on feedback, and since the mail archive for the second post does not link to the bundle, here is a direct link to his CSS(plus) bundle.

Posted by Allan Odgaard


Happy Halloween

Halloween Icon

Just to give credit where credit is due, the Halloween icon and HTML output theme (for commands) was done by Soryu and the cobweb by Jacob Rus. They also came up with this thing in the first place, I just followed along :)

Even though TextMate is not the first program to have a Halloween theme, the reactions were great, with dozens of images depicting it on Flickr and I got a lot of letters asking how to keep the theme after Halloween is over.

As Duane Johnson notes, some reactions though were also a little unexpected. The first letter I got about it asked if it was a virus, I got a handful of “how do I remove it”, most of those though seemed to not realize it is just a halloween special, and one actually found this theme offensive — not sure if I should mention that I am from the country behind the satirical Muhammad drawings :p

Anyway, happy halloween to all, even if you do not celebrate pagan festivals (which we actually do not in Denmark)!

2006-11-02: Halloween is over, but for those who liked the icon Soryu made it available for download. The cobweb is here. Save it under ~/Library/Application Support/TextMate (yes, TM supports loading the splash screen from outside the application bundle). If you want to have the scaling disabled (works better for this image) then run:

defaults write com.macromates.textmate \
   OakProjectControllerDisableSplashImageScaling 1

Posted by Allan Odgaard


New Dialog System for Commands

Included with the latest build of TextMate (r1305) is a new system for presenting dialogs. The new system allows you to create a custom interface in Interface Builder and then ask TextMate to present it as was it native. This is without writing any code at all.

I have recorded a screencast which introduces the system and shows basic usage.

The screencast is part one of what I plan to be a four or five part series with the upcoming screencasts covering the following topics:

  • Using buttons in the dialog (for actions)
  • Handling selections in lists and outlines
  • Showing progress visually
  • Putting it all together

Update (2007-03-15): After this screencast was recorded, a change was made: the tm_dialog binary has been moved from Support/bin to be within the Dialog.tmPlugIn package. That way, the version of the shell command should always match that of the installed plug-in (i.e. if you install a newer version of the plug-in). To get the exact path of the tm_dialog shell command, in TextMate type: echo "$DIALOG" and press ⌃R (to execute that line). In your scripts, you should always access tm_dialog as just "$DIALOG" (that would be ENV['DIALOG'] for Ruby).

Another common troubleshooting item is running: "$DIALOG" «nib» and then not see a window. If you do not specify -p/--parameters then tm_dialog will read parameters from the standard input. So either press ⌃D to “close” stdin, or give -p '{}' as argument, and things should work as expected.

Posted by Allan Odgaard


UTF-8 Support in the Shell

Even though Apple’s Terminal application has UTF-8 as the default encoding, they did not setup the shell to support it fully.

Mietek Bąk did a good write-up on the steps required to make Terminal (and the shell) fully UTF-8 aware, it also includes a note about irssi (for the records, the default encoding in ##textmate is UTF-8, and we use unicode glyphs a lot).

While speaking of Terminal, let me link to my old piece on how to make ⌥← and ⌥→ do word movement in Terminal and how to make ⇞ and ⇟ move caret (that was the page up/down glyphs).

Posted by Allan Odgaard


ColdFusion Bundle

ColdFusion is the language for which I have received the most requests so it is with pleasure I can now link to Bill’s CFTextMate project, it has a bundle with support for ColdFusion and the site has a section for screencasts.

Posted by Allan Odgaard


Chaining Snippets

It is sometimes useful to insert a list where number of items is unknown, but each item has enough boilerplate to want a snippet for it.

One approach to give this a more natural flow is chaining of snippets done e.g. for Rails migrations.

A thread on the mailing list recently resulted in this tip from Brett Terpstra

Read the rest of the post »