On Wed, Jun 19, 2019 at 11:58 AM Jeff King <[email protected]> wrote:
>
> While having separate lines that get joined here does make the result
> easier to read, I think it creates some confusion. diff.*.xfuncname in a
> regular config file _doesn't_ behave this way (it's the usual
> last-one-wins, so we expect a single string). You've handled this
> specially in your code to read this file, but it's confusing because
> this test otherwise looks exactly like a config file. And thus somebody
> might be tempted to copy it to their config file and modify it, but it
> would not do what they expected.
>
> I don't recall how well our config parser copes with embedded newlines
> in values. I.e., if it would be possible to write:
>
> [diff "foo"]
> xfuncname = "the pattern starts here...
> and continues through newlines!"
>
If I recall correctly, the above version wouldn't work, but the
following version would:
[diff "foo"]
xfuncname = "The pattern starts here..."
"and continues here! But the indentation looks ugly,"
"and we lose the ability to add comments inline (within pattern)"
Actually, at the very beginning, I was imaging some syntax like this:
[diff "foo"]
xfuncname = "The pattern starts here..."
; using '+=' will continue the pattern above
xfuncname += "and continues here!"
; a '=' symbol will start a new pattern
xfuncname = "This is another pattern.."
xfuncname += "and remember, last one always wins"
The existing config parser does not support "+=" though, which is a
nice feature to have in my opinion. Maybe there is a reason?
By the way, thanks for all the reviews! Especially when I found more
lines of reviews than lines of my code.
Best regards,
Boxuan