On Wed, 11 Sep 2013 11:04:37 -0700 "H. S. Teoh" <hst...@quickfur.ath.cx> wrote: > > As for long values, I've always disliked the fact that almost all > formats provide a way to wrap them across multiple lines, but almost > none of them let you indent the result nicely without also changing > the value. This is important for complex configuration formats that > have nested groups of settings. In my format, the syntax is > specifically catered for this use case, for example: > > # This is a comment > value1 = "This is a very long value \ > \split across multiple \ > \lines." > value2 = "A short value" > > module1 { > # These values are in a nested scope, so they are > # distinct from the settings above. > value1 = "This is another long \ > \value split across \ > \multiple lines." > value2 = "This is a value \ > \with an embedded \ # a long value > \comment!" > } >
SDL supports that sort of thing (except for the embedded comment, which I agree would be kinda nice): http://sdl.ikayzo.org/display/SDL/Language+Guide See section "String Literals" Your example would look like this : # This is a comment value1 "This is a very long value \ split across multiple \ lines." value2 "A short value" module1 { # These values are in a nested scope, so they are # distinct from the settings above. value1 "This is another long \ value split across \ multiple lines." } If you want the indentation *kept*, then use backquote strings (and omit the line continuation backslashes). The embedded comments could be easily added, but that would take it into "non-standard behavior" territory. (I actually had to deliberately disallow it just to match the behavior of the reference implementation).