Quickbook: Tighter code block parser.

Not entirely sure about this. Maybe it should use a version switch.

[SVN r75839]
This commit is contained in:
Daniel James
2011-12-07 09:18:43 +00:00
parent fc5b7fb63d
commit 200483d3fb

View File

@@ -565,23 +565,31 @@ namespace quickbook
;
local.code_block =
(
"```" >> *(*cl::blank_p >> cl::eol_p) >>
(
*(cl::anychar_p - (*cl::space_p >> "```"))
>> !(*cl::blank_p >> cl::eol_p)
>> cl::eps_p(*cl::space_p >> "```")
) [actions.code_block]
>> *cl::space_p >> "```"
"```"
>> ~cl::eps_p("`")
>> *(*cl::blank_p >> cl::eol_p)
>> ( *( "````" >> *cl::ch_p('`')
| ( cl::anychar_p
- (*cl::space_p >> "```" >> ~cl::eps_p("`"))
)
)
>> !(*cl::blank_p >> cl::eol_p)
) [actions.code_block]
>> ( *cl::space_p >> "```"
| cl::eps_p [actions.error("Unfinished code block")]
)
| (
"``" >> *(*cl::blank_p >> cl::eol_p) >>
(
*(cl::anychar_p - (*cl::space_p >> "``"))
>> !(*cl::blank_p >> cl::eol_p)
>> cl::eps_p(*cl::space_p >> "``")
) [actions.code_block]
>> *cl::space_p >> "``"
| "``"
>> ~cl::eps_p("`")
>> *(*cl::blank_p >> cl::eol_p)
>> ( *( "```" >> *cl::ch_p('`')
| ( cl::anychar_p
- (*cl::space_p >> "``" >> ~cl::eps_p("`"))
)
)
>> !(*cl::blank_p >> cl::eol_p)
) [actions.code_block]
>> ( *cl::space_p >> "``"
| cl::eps_p [actions.error("Unfinished code block")]
)
;