From: joey Date: Mon, 21 May 2007 06:07:49 +0000 (+0000) Subject: web commit by JoshTriplett: I think parsing nested square brackets solves the problem. X-Git-Tag: 2.2~107 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=14628e4c88c0c42f445f05d9d521eb8f860167c1;p=ikiwiki.git web commit by JoshTriplett: I think parsing nested square brackets solves the problem. --- diff --git a/doc/todo/nested_preprocessor_directives.mdwn b/doc/todo/nested_preprocessor_directives.mdwn index c11e38970..7e7ef3a49 100644 --- a/doc/todo/nested_preprocessor_directives.mdwn +++ b/doc/todo/nested_preprocessor_directives.mdwn @@ -4,3 +4,15 @@ inside a triple-quoted value of a directive, but that's all. It's not possible to unambiguously parse nested quotes, so to support nesting, a new syntax would be needed. Maybe something xml-like? + +> You can, however, unambiguously parse nested square brackets, and I think +> that would solve the problem, as long as you never allow the contents of a +> directive to contain a *partial* directive, which seems reasonable to me. +> +> For example, I *think* you can unambiguously parse the following: +> +> \[[if test="enabled(template) and templates/foo" then=""" +> [[template id=foo content="""Flying Purple People Eater"""]] +> """]] +> +> --[[JoshTriplett]]