fix rustfmt
This commit is contained in:
parent
5e38b15f93
commit
df342893ee
1 changed files with 37 additions and 14 deletions
|
@ -10,10 +10,17 @@ use derive_new::new;
|
||||||
use fasteval::Evaler;
|
use fasteval::Evaler;
|
||||||
use log::{debug, trace, warn};
|
use log::{debug, trace, warn};
|
||||||
use nom::{
|
use nom::{
|
||||||
branch::alt, bytes::complete::{tag, take, take_till}, character::{
|
AsChar, Compare, Input, Parser as _,
|
||||||
|
branch::alt,
|
||||||
|
bytes::complete::{tag, take, take_till},
|
||||||
|
character::{
|
||||||
complete::{char, space1, usize},
|
complete::{char, space1, usize},
|
||||||
streaming::one_of,
|
streaming::one_of,
|
||||||
}, combinator::{all_consuming, cut, opt, value}, error::{ErrorKind, FromExternalError, ParseError}, multi::many0, sequence::{delimited, preceded}, AsChar, Compare, Input, Parser as _
|
},
|
||||||
|
combinator::{all_consuming, cut, opt, value},
|
||||||
|
error::{ErrorKind, FromExternalError, ParseError},
|
||||||
|
multi::many0,
|
||||||
|
sequence::{delimited, preceded},
|
||||||
};
|
};
|
||||||
use nom_locate::LocatedSpan;
|
use nom_locate::LocatedSpan;
|
||||||
|
|
||||||
|
@ -94,7 +101,10 @@ where
|
||||||
|
|
||||||
impl<I> FromExternalError<I, anyhow::Error> for LocatedVerboseError<I> {
|
impl<I> FromExternalError<I, anyhow::Error> for LocatedVerboseError<I> {
|
||||||
fn from_external_error(input: I, _kind: ErrorKind, e: anyhow::Error) -> Self {
|
fn from_external_error(input: I, _kind: ErrorKind, e: anyhow::Error) -> Self {
|
||||||
Self { location: input, error: Some(e) }
|
Self {
|
||||||
|
location: input,
|
||||||
|
error: Some(e),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,6 +240,7 @@ impl Note {
|
||||||
sorted
|
sorted
|
||||||
};
|
};
|
||||||
move |input: I| {
|
move |input: I| {
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
let mut parsers: Vec<Box<dyn Fn(I) -> IResult<I, Self>>> = notes
|
let mut parsers: Vec<Box<dyn Fn(I) -> IResult<I, Self>>> = notes
|
||||||
.clone()
|
.clone()
|
||||||
.drain(..)
|
.drain(..)
|
||||||
|
@ -340,7 +351,11 @@ impl Tuplet {
|
||||||
{
|
{
|
||||||
trace!("making the {} parser", type_name::<Self>());
|
trace!("making the {} parser", type_name::<Self>());
|
||||||
|input| {
|
|input| {
|
||||||
delimited(char('['), cut(take_till(|c| c == ']').and_then(cut(expect(all_consuming(token_parser(parser)), "input did not match any known grammar for inner tokens (typo?)")))), cut(
|
delimited(char('['),
|
||||||
|
cut(take_till(|c| c == ']')
|
||||||
|
.and_then(cut(expect(
|
||||||
|
all_consuming(token_parser(parser)),
|
||||||
|
"input did not match any known grammar for inner tokens (typo?)")))), cut(
|
||||||
expect(
|
expect(
|
||||||
char(']'),
|
char(']'),
|
||||||
format!(
|
format!(
|
||||||
|
@ -405,8 +420,14 @@ impl Slope {
|
||||||
-> IResult<LocatedSpan<&'a str>, VariableChange>,
|
-> IResult<LocatedSpan<&'a str>, VariableChange>,
|
||||||
>,
|
>,
|
||||||
>>()
|
>>()
|
||||||
.as_mut_slice()), format!("expected a slope name from available slope names ({:?})", parser.slopes.clone().into_iter().map(|(s1, _)| s1.as_ref().to_string()).collect::<Vec<_>>())))
|
.as_mut_slice()),
|
||||||
.and(cut(take_till(|c| c == '}').and_then(cut(expect(all_consuming(token_parser(parser)), "input did not match any known grammar for inner tokens (typo?)"))))),
|
format!(
|
||||||
|
"expected a slope name from available slope names ({:?})",
|
||||||
|
parser.slopes.clone().into_iter().map(|(s1, _)| s1.as_ref().to_string()).collect::<Vec<_>>()
|
||||||
|
)))
|
||||||
|
.and(cut(take_till(|c| c == '}').and_then(cut(
|
||||||
|
expect(all_consuming(token_parser(parser)),
|
||||||
|
"input did not match any known grammar for inner tokens (typo?)"))))),
|
||||||
cut(
|
cut(
|
||||||
expect(
|
expect(
|
||||||
char('}'),
|
char('}'),
|
||||||
|
@ -520,14 +541,16 @@ mod tests {
|
||||||
VariableChange('n', "1".parse().unwrap())
|
VariableChange('n', "1".parse().unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parser_generator() -> Parser<
|
type DefaultParser = Parser<
|
||||||
[&'static str; 3],
|
[&'static str; 3],
|
||||||
&'static str,
|
&'static str,
|
||||||
HashMap<String, VariableChange>,
|
HashMap<String, VariableChange>,
|
||||||
String,
|
String,
|
||||||
VariableChange,
|
VariableChange,
|
||||||
[char; 1],
|
[char; 1],
|
||||||
> {
|
>;
|
||||||
|
|
||||||
|
fn parser_generator() -> DefaultParser {
|
||||||
Parser::new(
|
Parser::new(
|
||||||
["do", "ré", "mi"],
|
["do", "ré", "mi"],
|
||||||
HashMap::from([
|
HashMap::from([
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue