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 <mailinglist(a)textmate.org>
To: Peter Rando <peter.rando(a)yahoo.com>om>; TextMate users
<textmate(a)lists.macromates.com>
Sent: Sunday, April 21, 2013 10:21 PM
Subject: Re: [TxMt] Question about indentation
On Apr 22, 2013, at 3:21, Peter Rando <peter.rando(a)yahoo.com> 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.