First of all, thank you very much for the quick response.  It's obviously not what I wanted to hear, but appreciated.  And now I know it wasn't just me being stupid all this time!

I'm a little heartened to hear that this is something you're looking at now.  If there's any way I can help encourage you along these lines, let me know!  My first thought regarding your proposed solution is that it seems like helping the cases you can, even if not perfect, is a good thing.  And I may be missing something (?), but it seems like a register system like you're describing would be at least "more helpful" in virtually all cases, no?

I don't know that it matters, but FWIW, I'm new to the list, but a paid user since long ago...

From: Allan Odgaard <>
To: Peter Rando <>; TextMate users <>
Sent: Sunday, April 21, 2013 10:21 PM
Subject: Re: [TxMt] Question about indentation

On Apr 22, 2013, at 3:21, Peter Rando <> wrote:

> I've used Whitesmith bracing style for *decades*, and had it kinda-sorta working in TM 1.5.x, though not perfectly.  Now I've lost those old settings and for the life of me can't figure out how to get it even close in 2.0 […]

This style can’t be expressed with the current classification patterns.

The best approximation is probably to remove { and } from the default patterns.

> Also, just as a general suggestion, it seems like it would be really helpful to have just a handful of "packaged" example indentation rules for the small handful of  common bracing styles, i.e. Allman, K&R, Whitesmith, maybe Gnu.

The default pattenrs are compatible with both Allman and K&R. Neither Whitesmith nor Gnu can really be expressed ATM.

I’ve been considering ways to improve the indentation system, an obvious improvement would be to drop the somewhat arcanely named classification patterns and instead use a register based system where a match can add/subtract to a register, where a register represents the indent of the current line, future lines, or a “carry register”.

However, the biggest problem with the indent system is hard-wrapped lines and lisp-like languages, so while the above might be a nice improvement, it’s not really solving the real issue.