(line: &str)
| 110 | } |
| 111 | |
| 112 | fn parse_leaf(line: &str) -> Result<Option<Directive>> { |
| 113 | let rest = match line.trim().strip_prefix("::") { |
| 114 | Some(r) => r, |
| 115 | None => return Ok(None), |
| 116 | }; |
| 117 | let (name, attrs_src) = split_name_attrs(rest); |
| 118 | if name.is_empty() { |
| 119 | return Ok(None); |
| 120 | } |
| 121 | check_known(&name)?; |
| 122 | let (id, attrs) = parse_attrs(attrs_src)?; |
| 123 | Ok(Some(Directive { |
| 124 | name, |
| 125 | id, |
| 126 | attrs, |
| 127 | body: String::new(), |
| 128 | label: None, |
| 129 | children: Vec::new(), |
| 130 | })) |
| 131 | } |
| 132 | |
| 133 | /// Extract inline directives (`:name[label]{attrs}`) from running prose. |
| 134 | /// |
no test coverage detected