unidok_parser/html/
cdata.rs1use unidok_repr::ast::html::CDataSectionAst;
2
3use crate::utils::Until;
4use crate::Parse;
5
6pub(crate) struct ParseCDataSection;
7
8impl Parse for ParseCDataSection {
9 type Output = CDataSectionAst;
10
11 fn parse(&mut self, input: &mut crate::input::Input) -> Option<Self::Output> {
12 let mut input = input.start();
13
14 input.parse("<![CDATA[")?;
15 let text = input.parse_i(Until("]]>"));
16 input.try_parse("]]>");
17
18 input.apply();
19 Some(CDataSectionAst { text })
20 }
21}