1#[cfg(feature = "chumsky")]
4use chumsky::{Parser, prelude::just};
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, strum::EnumIs)]
8pub enum Area {
9 ChatRange,
11 DrawDistance,
13 Region,
15}
16
17#[cfg(feature = "chumsky")]
23#[must_use]
24pub fn area_parser<'src>()
25-> impl Parser<'src, &'src str, Area, chumsky::extra::Err<chumsky::error::Rich<'src, char>>> {
26 just("chat range")
27 .to(Area::ChatRange)
28 .or(just("draw distance").to(Area::DrawDistance))
29 .or(just("region").to(Area::Region))
30 .or(just("the region").to(Area::Region))
31}