Joshua Muheim wrote:
So TextMate isn't sufficiently smart? Anyway, I don't see any way how a text editor should be able know where a tag should end, when there's no end tag...
I don't know about TextMate, but in the Emacs haml- and sass-modes, you can set the region around a block of code and re-indent it.
Phillip Koebbe
Malline is very similar to Markaby. I've been working with it the past few days and have run into a couple of problems, but the developer is very responsive. www.malline.org and there's a Trac at dev.malline.org.
Huh, I wasn't aware of Malline. Looking at the code, though, it seems like it would suffer from the same performance issues that Markaby does.
Tim Uckun:
The thing is that my smart editors (eclipse, jedit, netbeans etc) know how to automatically indent HTML and XML. If I move a div from one section to another I just the magical key combination and voila!
Sure, but you can do the same thing with Haml (see above).
Anyway here is a feature request.
I would appreciate some sort of an option to use blocks so I don't have to use indents. Whether it's do end or {} I don' t care. After all if I liked significant indents I would be using python
Just practically speaking, I don't think this is going to happen any time soon. It would require major, difficult overhauls to the entire structure of the parser. We'd have to find a syntax that wouldn't be ambiguous with Ruby code or filters and would be unlikely to break lots of existing code. We'd have to figure out how to implement it without trying to parse the Ruby code, without losing line-number information, and without making the parser entirely unmaintainable.
And even beyond the technical issues, it runs pretty strongly contrary to the Haml philosophy to add in extra verbosity for no gain in power. The first draft of Haml was designed by removing everything redundant from an XHTML document. This included end tags, because the indentation was already there, doing a perfectly good job of showing the structure. I honestly can't imagine when your indentation wouldn't match up with the structure of your document. I mean, sure, with Haml you can't do
<div> <p>foo</p> <p>bar</p> <p>baz</p> </div>
but why would you ever want to?