diff options
| author | John Turner <jturner.usa@gmail.com> | 2025-11-29 20:43:28 +0000 |
|---|---|---|
| committer | John Turner <jturner.usa@gmail.com> | 2025-11-29 20:50:59 +0000 |
| commit | d1127df296aa7871555293e324d125e6d8a843e1 (patch) | |
| tree | baddfab365df586207fa9c1dadf270ee94c3f46f /src/repo/profile/package/parsers.rs | |
| parent | 94f3397d197e47eb58a7391acd9c63c5565fa26e (diff) | |
| download | gentoo-utils-profiles.tar.gz | |
impl profile evaluationprofiles
Diffstat (limited to 'src/repo/profile/package/parsers.rs')
| -rw-r--r-- | src/repo/profile/package/parsers.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/repo/profile/package/parsers.rs b/src/repo/profile/package/parsers.rs new file mode 100644 index 0000000..74d9acc --- /dev/null +++ b/src/repo/profile/package/parsers.rs @@ -0,0 +1,13 @@ +use mon::{Parser, tag}; + +use crate::{Parseable, atom::Atom, repo::profile::package::Package}; + +impl<'a> Parseable<'a, &'a str> for Package { + type Parser = impl Parser<&'a str, Output = Self>; + + fn parser() -> Self::Parser { + Atom::parser() + .map(Package::Add) + .or(Atom::parser().preceded_by(tag("-")).map(Package::Remove)) + } +} |
