forked from gentoo-utils/gentoo-utils
update to new version of mon
This commit is contained in:
@@ -74,8 +74,8 @@ impl<'a> Parseable<'a, &'a str> for Version {
|
||||
type Parser = impl Parser<&'a str, Output = Self>;
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let numbers = VersionNumber::parser().separated_list(tag("."), 1..);
|
||||
let suffixes = VersionSuffix::parser().separated_list(tag("_"), 0..);
|
||||
let numbers = VersionNumber::parser().separated_by(tag("."), 1..);
|
||||
let suffixes = VersionSuffix::parser().separated_by(tag("_"), 0..);
|
||||
let rev = VersionNumber::parser().preceded_by(tag("-r"));
|
||||
|
||||
numbers
|
||||
@@ -96,7 +96,7 @@ impl<'a> Parseable<'a, &'a str> for Category {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let start = r#if(|c: &char| c.is_ascii_alphanumeric() || *c == '_');
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).list(0..);
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).repeated(0..);
|
||||
|
||||
start
|
||||
.and(rest)
|
||||
@@ -116,7 +116,7 @@ impl<'a> Parseable<'a, &'a str> for Name {
|
||||
r#if(|c: &char| c.is_ascii_alphanumeric() || "_+-".contains(*c)).not(),
|
||||
)),
|
||||
)
|
||||
.list(0..);
|
||||
.repeated(0..);
|
||||
|
||||
start
|
||||
.and(rest)
|
||||
@@ -140,7 +140,7 @@ impl<'a> Parseable<'a, &'a str> for SlotName {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let start = r#if(|c: &char| c.is_ascii_alphanumeric() || *c == '_');
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).list(0..);
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).repeated(0..);
|
||||
|
||||
start
|
||||
.and(rest)
|
||||
@@ -257,7 +257,7 @@ impl<'a> Parseable<'a, &'a str> for Atom {
|
||||
.and(Slot::parser().preceded_by(tag(":")).opt())
|
||||
.and(
|
||||
UseDep::parser()
|
||||
.separated_list(tag(","), 0..)
|
||||
.separated_by(tag(","), 0..)
|
||||
.delimited_by(tag("["), tag("]"))
|
||||
.opt(),
|
||||
)
|
||||
|
||||
@@ -26,7 +26,7 @@ impl<'a> Parseable<'a, &'a str> for Uri {
|
||||
.followed_by(tag("://"))
|
||||
.map(|output: &str| output.to_string());
|
||||
let path = r#if(|c: &char| !c.is_ascii_whitespace())
|
||||
.list(1..)
|
||||
.repeated(1..)
|
||||
.recognize()
|
||||
.map(|output: &str| output.to_string());
|
||||
|
||||
@@ -42,7 +42,7 @@ impl<'a> Parseable<'a, &'a str> for SrcUri {
|
||||
fn parser() -> Self::Parser {
|
||||
let filename = || {
|
||||
r#if(|c: &char| !c.is_ascii_whitespace())
|
||||
.list(1..)
|
||||
.repeated(1..)
|
||||
.recognize()
|
||||
.map(|output: &str| PathBuf::from(output))
|
||||
};
|
||||
@@ -65,7 +65,7 @@ impl<'a> Parseable<'a, &'a str> for License {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let start = r#if(|c: &char| c.is_ascii_alphanumeric() || "_".contains(*c));
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).list(0..);
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).repeated(0..);
|
||||
|
||||
start
|
||||
.and(rest)
|
||||
@@ -79,7 +79,7 @@ impl<'a> Parseable<'a, &'a str> for Eapi {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let start = r#if(|c: &char| c.is_ascii_alphanumeric() || "_".contains(*c));
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).list(0..);
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_.-".contains(*c)).repeated(0..);
|
||||
|
||||
start
|
||||
.and(rest)
|
||||
@@ -96,7 +96,7 @@ impl<'a> Parseable<'a, &'a str> for Eclass {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
r#if(|c: &char| !c.is_ascii_whitespace())
|
||||
.list(1..)
|
||||
.repeated(1..)
|
||||
.recognize()
|
||||
.map(|output: &str| Eclass(output.to_string()))
|
||||
}
|
||||
@@ -111,18 +111,18 @@ where
|
||||
fn parser() -> Self::Parser {
|
||||
|it| {
|
||||
let all_of_group = Depend::parser()
|
||||
.separated_list(whitespace1(), 1..)
|
||||
.separated_by(whitespace1(), 1..)
|
||||
.delimited_by(tag("(").followed_by(whitespace1()), tag(")"))
|
||||
.map(|exprs| Depend::AllOf(exprs));
|
||||
|
||||
let any_of_group = Depend::parser()
|
||||
.separated_list(whitespace1(), 1..)
|
||||
.separated_by(whitespace1(), 1..)
|
||||
.delimited_by(tag("(").followed_by(whitespace1()), tag(")"))
|
||||
.preceded_by(tag("||").followed_by(whitespace1()))
|
||||
.map(|exprs| Depend::AnyOf(exprs));
|
||||
|
||||
let one_of_group = Depend::parser()
|
||||
.separated_list(whitespace1(), 1..)
|
||||
.separated_by(whitespace1(), 1..)
|
||||
.delimited_by(tag("(").followed_by(whitespace1()), tag(")"))
|
||||
.preceded_by(tag("^^").followed_by(whitespace1()))
|
||||
.map(|exprs| Depend::OneOf(exprs));
|
||||
@@ -131,7 +131,7 @@ where
|
||||
.followed_by(whitespace1())
|
||||
.and(
|
||||
Depend::parser()
|
||||
.separated_list(whitespace1(), 1..)
|
||||
.separated_by(whitespace1(), 1..)
|
||||
.delimited_by(tag("(").followed_by(whitespace1()), tag(")")),
|
||||
)
|
||||
.map(|(conditional, exprs)| Depend::ConditionalGroup(conditional, exprs));
|
||||
@@ -189,7 +189,7 @@ mod test {
|
||||
let it = InputIter::new("flag? ( || ( foo/bar foo/bar ) )");
|
||||
|
||||
Depend::<Atom>::parser()
|
||||
.separated_list(whitespace1(), 0..)
|
||||
.separated_by(whitespace1(), 0..)
|
||||
.check_finished(it)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ fn read_src_uri(input: &str) -> Option<Result<Vec<Depend<SrcUri>>, Error>> {
|
||||
.find_map(|line| line.strip_prefix("SRC_URI="))?;
|
||||
|
||||
match Depend::<SrcUri>::parser()
|
||||
.separated_list(whitespace1(), 0..)
|
||||
.separated_by(whitespace1(), 0..)
|
||||
.parse_finished(InputIter::new(line))
|
||||
{
|
||||
Ok(slot) => Some(Ok(slot)),
|
||||
@@ -223,7 +223,7 @@ fn read_inherit(input: &str) -> Option<Result<Vec<Eclass>, Error>> {
|
||||
.find_map(|line| line.strip_prefix("INHERIT="))?;
|
||||
|
||||
match Eclass::parser()
|
||||
.separated_list(whitespace1(), 0..)
|
||||
.separated_by(whitespace1(), 0..)
|
||||
.parse_finished(InputIter::new(line))
|
||||
{
|
||||
Ok(inherit) => Some(Ok(inherit)),
|
||||
@@ -235,7 +235,7 @@ fn read_iuse(input: &str) -> Option<Result<Vec<IUseFlag>, Error>> {
|
||||
let line = input.lines().find_map(|line| line.strip_prefix("IUSE="))?;
|
||||
|
||||
match IUseFlag::parser()
|
||||
.separated_list(whitespace1(), 0..)
|
||||
.separated_by(whitespace1(), 0..)
|
||||
.parse_finished(InputIter::new(line))
|
||||
{
|
||||
Ok(iuse) => Some(Ok(iuse)),
|
||||
@@ -249,7 +249,7 @@ fn read_license(input: &str) -> Option<Result<Vec<Depend<License>>, Error>> {
|
||||
.find_map(|line| line.strip_suffix("LICENSE="))?;
|
||||
|
||||
match Depend::<License>::parser()
|
||||
.separated_list(whitespace1(), 0..)
|
||||
.separated_by(whitespace1(), 0..)
|
||||
.parse_finished(InputIter::new(line))
|
||||
{
|
||||
Ok(license) => Some(Ok(license)),
|
||||
@@ -297,7 +297,7 @@ fn read_idepend(input: &str) -> Option<Result<Vec<Depend<Atom>>, Error>> {
|
||||
|
||||
fn parse_depends(line: &str) -> Result<Vec<Depend<Atom>>, Error> {
|
||||
Depend::<Atom>::parser()
|
||||
.separated_list(whitespace1(), 0..)
|
||||
.separated_by(whitespace1(), 0..)
|
||||
.parse_finished(InputIter::new(line))
|
||||
.map_err(|_| Error::Parser(line.to_string()))
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ impl<'a> Parseable<'a, &'a str> for UseFlag {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let start = r#if(|c: &char| c.is_ascii_alphanumeric());
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_@-".contains(*c)).list(0..);
|
||||
let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_@-".contains(*c)).repeated(0..);
|
||||
|
||||
start
|
||||
.and(rest)
|
||||
|
||||
Reference in New Issue
Block a user