mirror of
https://github.com/boostorg/quickbook.git
synced 2026-01-25 18:32:25 +00:00
Quickbook: Tighter code block parser.
Not entirely sure about this. Maybe it should use a version switch. [SVN r75839]
This commit is contained in:
@@ -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")]
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user