nom_config_in/entry/
unset.rs1use nom::{
2 bytes::complete::tag,
3 character::complete::space0,
4 combinator::map,
5 multi::many1,
6 sequence::{preceded, tuple},
7 IResult,
8};
9use serde::Serialize;
10
11use crate::{symbol::parse_constant_symbol, util::ws, ConfigInInput};
12
13#[derive(Debug, Clone, Serialize, PartialEq)]
14pub struct Unset {
15 pub configs: Vec<String>,
16}
17
18pub fn parse_unset(input: ConfigInInput) -> IResult<ConfigInInput, Unset> {
19 map(
20 tuple((
21 ws(tag("unset")),
22 many1(map(preceded(space0, parse_constant_symbol), |s| {
23 s.to_string()
24 })),
25 )),
26 |(_, l)| Unset { configs: l },
27 )(input)
28}