Git Style Configuration

TextMate 2 isn't just about adding a ton of killer new features. It's also about throwing out what just plain didn't work. That means you can kiss the old project files goodbye.

Of course, you throw out bad ideas so you can replace them with good ideas.

Project files serve a couple of purposes in TextMate 1. One was to give you access to folders you commonly work with. That's now handled through TextMate 2's File Browser and we're going to talk a lot more about that in the future. Another purpose though was to support project level configuration. Configuration is a great idea, but the old interface was awkward and inflexible.

TextMate 2's new .tm_properties files address this need, similar to .git configuration files.

In this article we'll discuss:

  • The various places TextMate 2 will look for configuration settings
  • Examples of some settings you may wish to tweak
  • Per file type configuration
  • Dynamic project based configuration

    Read the rest of the post »

TextMate 2 Tips

A great site has sprung up to provide a lot of helpful tips and tricks about the TextMate 2 alpha release. You can also follow them on Twitter for updates.

Locating Bundles

One of the new features in 2.0 is the ability to install new bundles directly from the app. You can see the list of available bundles by opening preferences and going to the Bundles tab. Bundles installed from here will be kept up-to-date automatically. In addition if you try to open a filetype without having the currect bundle TextMate will offer to install it if available.

Also listed are a variety of theme bundles, you can filter list by clicking 'Themes' in the top bar. The Themes bundle is installed by default and includes a collection of themes from 1.x.

For the duration of the alpha we have kept the support files separated so both versions can be run without affecting the other. This means you will have to manually move over your personal bundles and any bundles not available in the installer.

Read the rest of the post »

Alpha Tidbits

  • To create a new file you can use the shortcut ⌥⌘N to create a new tab, when you save this tab it will default to the current or selected directory in the sidebar. Update: When providing the file name (in the save dialog) you can use brace expansion to create multiple files, e.g.: MyView.{mm,h}.
  • The current release will submit non-anonymous crash reports so we can pinpoint problem areas in the alpha. This can be disabled in preferences if needed but it is a great help if you can leave it on.

Around the Web

  • Ernie Miller give a good overview of how to use rmate to edit files on a remote server.
  • David Lanham shows a detailed shot of the new icon he designed for us. Update: David has posted a comment about the process of coming up with the icon.

TextMate 2.0 Alpha

The excitement for a new version has been tremendous and today we’re finally able to repay the much appreciated loyalty and moral support from the community by releasing the first public alpha: TextMate 2.0 alpha.

It’s important to stress though that being an alpha release; it is not complete. It has reached a point where it may suit some early adopters and provide some relief to those who have been questioning TextMate’s future. For the time being, the alpha builds are only for people who already have a TextMate license and an Intel Mac.

Being a complete rewrite there are too many changes to sum up but here is an overview of notable changes since TextMate 1.5.10.

There are also many things that didn’t make it to this alpha, far too many to mention all of them, but a few deserves to be mentioned as they are likely to come up a lot in the coming days:

  • Split views: Yes, I actually had this on the alpha milestone, I’m not overly excited about this feature myself, but I know it’s a very common request, so eventually it should find its way into the application.
  • Full screen mode: This is mainly because we are hesitant to go Lion-only so we are holding back with “lionizing” TextMate till we feel confident we can fully drop backwards compatibility.
  • Performance: Overall performance is fine, but there are still edge-cases that we haven’t looked into, for example the long lines issue which also exists in 1.x or opening files that exhaust TextMate’s memory space.
  • Bundle editor: While a proof-of-concept bundle editor is included, it is provisional, has some flaws, and not how we envision the final bundle editor to be.
  • Settings: Not everything in the Preferences window has an effect at the moment and several menu settings are not sticky, some even revert when switching tabs. Those can be set via .tm_properties — more about this in an upcoming post.

What’s Next

There has been a lot of speculation and trepidation about the future of TextMate recently, mostly about whether there will be another major release. Work on 2.0 began and while we wish it could have been completed faster we are very pleased with how it is turning out. Development has reached a point finally where we can make an announcement:

There will be a public alpha release this year, before Christmas, for registered users.

Lion Notes

With Lion getting let loose around the world we have posted a list of the known issues to the wiki and will be keeping it updated if any more are found. We will release an update to correct the issues where possible once we believe that all of them have been found.

If you find any other issues please check the mailing list or contact us by email or on Twitter.

Tabbing Shortcuts

In a recent release of TextMate we moved away from our old tab switching shortcut to one more commonly used. After releasing this update however we discovered that not all TextMate users are using the US keymap ☺ so we decided to look closer at shortcuts supported in a variety of applications.

Read the rest of the post »

TextMate 1.5.10

Update 2010-11-18: r1623 is out, restoring the venerable key bindings.

Update 2010-11-14: Post about restoring ⇧⌥⇥ for shift left. Post about restoring interactive input functionality.

A long overdue maintenance update was released earlier today.

It mainly contains fixes but one change might not please users of European keyboard layouts:

Change next/previous file tab key equivalents to ⇧⌘[ and ⇧⌘].

The motivation behind the change is that Apple are using these keys both in Safari and Terminal (when using the English interface language).

If you dislike the change you can override it via System Preferences → Keyboard → Application Shortcuts.

Grammar Test Mate

I sent a note to the mailing list about gtm, version 1.0 of a grammar testing tool.

Default App for Typeless Files

Apple has hardcoded the Finder to open files without extension in Terminal when they are executable and otherwise TextEdit.

Starting with Snow Leopard you can however use Michel Fortin’s Magic Launch ($14) to alter the behavior. It can also be configured to open the same file type with different applications based on location, content, or similar.

Why 2.0 is not Developed in the Open

I got a letter asking me why I didn’t use the 1.0 model for developing 2.0, that is, released 1.0 when it reached “usable” and then incrementally improved it.

Read the rest of the post »

Interactive Input

Prior to r1509 TextMate had a very neat feature: you could run (⌘R) a piece of C, Ruby, Python, Shell Script, etc. and if the code (directly or indirectly) read from its standard input then a dialog would be shown prompting the user for input.

Read the rest of the post »

Snow Leopard

I created a wiki page detailing Snow Leopard compatibility issues.

Presently two exist which have workarounds described on that page. I will release a new build shortly (that means, I planned to have it out by now ;) ) which incorporate these workarounds.

There are (or may be) issues with some of the bundle commands written in ruby (as Snow Leopard ships with ruby 1.8.7, which isn’t 100% backwards compatible). We will address these as we see them over the next weeks/months and updated versions should appear in the Subversion repository.

Before you Upgrade

If you do a clean install of Snow Leopard, make sure you have your TextMate license key handy! It can be requested from this page. If you have changed your email address since you bought the program then you can copy/paste the license key from the application by using the “Change License…” button in the dialog which appears when you select the TextMate → Registration… menu item.

My Other Blog

In an earlier post I wrote that “I am trying to slowly turn this boat” referring to the lack of posts to this blog, and that “I have enlisted a technical writer to help bring this blog back to life”. Well, almost two months later, and no real sign of change, and plenty of comments on the post calling me out on that.

Read the rest of the post »

Bundles Repository Moved & Mirrored

A couple of important announcements went out over the TextMate mailing list related to revision control, affecting any users keeping up with the “bleeding edge” of bundle development.

Subversion Relocation

The URL of the main Subversion repository has been changed from the forgettable untypeable http://macromates.com/svn/Bundles/ to a much nicer http://svn.textmate.org/. We made this change a while ago, but we didn’t put in a redirect before because we weren’t sure the new server could handle the load (there were some problems with the first one). We are putting in the redirect now.

Subversion doesn’t handle this change gracefully (it will just report an error and fail), so anyone using svn to keep up with bundle development needs to manually update the checkout to the new location. Here are the steps required to relocate your checkout.

Read the rest of the post »

Working on It

Over the past two years, posts on this blog have slowed to just a trickle, and a number of TextMate users have asked about TextMate’s status, or publicly worried about its future. This blog post, the first I’ve written here in a long time, is an attempt to assuage those concerns and answer some of the most frequent questions.

In short, TextMate development is going strong: TextMate 2 isn’t done yet, but progress is steady, it is starting to take shape, and the end is in sight. The rewrite has been a slow and careful process, but the ideas behind it are exciting. I hope to publicly describe some new abstractions in the coming weeks and months. Moreover, the community continues to churn out new bundles and features for TextMate 1.5, and I’ve been building up a backlog of posts describing them. While I am not writing to announce a release date for TextMate 2, I do hope that this post will be the first in a series showing a bit more transparency.

Read the rest of the post »

ProjectPlus

There is a plug-in from Ciarán Walsh called ProjectPlus. It does SCM badgets (Git and SVN), Finder (color) labels, preserves project state between sessions, and lots more.

Bundles and GitHub

To make it possible to find TextMate bundles by automatic tools such as TextMate Gem and the new GetBundles bundle (currently in review) the naming convention proposed is to include .tmbundle in the name of your bundle project.

Presently most bundles at GitHub use -tmbundle but likely because a dot was previously not allowed in a project name.

Japanese Manual

Thanks to the work of Takaaki Kato there now is a Japanese TextMate manual.

A few things still need to be translated (there is an issue tracker) but it should already be very useful for people who prefer reading Japanese over English.

And no, this does not mean that a new CJK-compliant TextMate has been released. The best approach for using CJK with TextMate is still via the plug-in.