On Jan 17, 2010, at 2:37 PM, Joshua Kolden wrote:
If it hasn't already been suggested I think
elastic tabstops would be a good feature:
http://nickgravgaard.com/elastictabstops/
An interesting idea, and it'd be fun to try it out, but in playing with the java demo
on that page, I hit a couple of places where the behavior was not what I expected.
Eventually I understood why it was happening, but I predict that it would generate a lot
of support calls if there was not a lot of documentation about "quirks".
The basic problem is that a table formatting scheme is very limiting, particularly with
automatically detecting table boundaries. Sometimes "in the middle of a table"
you'll want to change the column widths -- essentially, you really want to end the
previous table and start a new one. I think inserting a blank line may accomplish that,
but, as I say, it'll take some practice, and there was something strange about how his
demo handled blank lines, because it didn't always do what I expected..
I hit the problem in the code. If you do something like (tabs represented by
'>'):
...
if( some test) { > /* special case */
doit_now(x)
}>/* all done */
...
you have a two column table and are probably happy with the comments, but will be very
frustrated when the "doit_now(x)" line, instead of being 'properly'
indented, goes into the comment column.
Instead of one table there, you probably want 3, or a 3-column table, with two tabs before
the comment. And, of course it gets nastier if you need doubly indented blocks.
joe