(&mut self)
| 194 | } |
| 195 | |
| 196 | pub fn parse_vec<T: Deserialize>(&mut self) -> Result<Vec<T>> { |
| 197 | let mut v = Vec::new(); |
| 198 | if self.next_char()? != '[' { |
| 199 | return Err(eyre::eyre!("Seserializer error: expect a `[`.")); |
| 200 | } |
| 201 | loop { |
| 202 | let item = T::deserialize(self)?; |
| 203 | v.push(item); |
| 204 | if self.peek_char()? == ']' { |
| 205 | break; |
| 206 | } |
| 207 | self.eat_token(",")?; |
| 208 | } |
| 209 | self.eat_token("]")?; |
| 210 | Ok(v) |
| 211 | } |
| 212 | |
| 213 | pub fn parse_path(&mut self) -> Result<PathBuf> { |
| 214 | let path = self.consume_token_until("\n")?; |