хочу, чтобы я строку вида rust,gist=foobar,playground распарсил в примерно
LangSpec {
lang: Rust {
playground: true,
},
gist: "foobar",
}
Изменение синтаксиса допускается, но первое rust, хотелось бы оставить для совместимости со всем остальным миром
Как это сделать не переизобретая вселенную с нуля?
Я уже неделю, по-моему, пытаюсь что-то придумать
А где совместимость нарушается?
Ну это просто fn parse(string: &str) -> Result<LangSpec, Error> { match string { "rust,gist=foobar,playground" | "rust,playground,gist=foobar" => LangSpec { lang: Rust { playground: true, }, gist: "foobar" }, _ => Error::UNPARSABLE } }
Гитхаб, например, жрёт rust,foobar, но не rust&foobar
Обсуждают сегодня