On 05/11/2010 20:43, Jared Grubb wrote:
I like the idea of have d""" as the marker, as I've often wanted this for writing out custom HTML or source code.
But, would the level of dedent be based on the level of indent of the code line containing the d""" marker? If so, would you want a parsing/syntax error if the string violated the indentation levels of the surrounding code? (the dedent would have to take place post-parsing, since the grammar knows nothing about INDENT tokens inside strings, so it's not truly a "parser" error).
The easiest would be to do the equivalent of dedent and take the longest common whitespace length. But, the purist in me would kinda hope that if, for example, the code was indented to column 8 but the text was all at column 12, that the resulting string would have 4 leading spaces on each line.
[snip] You could also add an 'indent' method to strings: text.indent(4) would indent each line by 4 spaces text.indent(-4) would dedent each line by 4 spaces; an exception would be raised if a line started with fewer than 4 spaces, unless that line contained only spaces. text.indent(4, '>') would indent each line by 4 * '>'.