remove comma parsing in backpassing

This commit is contained in:
Folkert 2021-03-06 01:10:02 +01:00
parent 36cd7ddc38
commit d7904b1d41

View file

@ -763,7 +763,7 @@ fn def_help<'a>(min_indent: u16) -> impl Parser<'a, Def<'a>, EExpr<'a>> {
let def_colon_or_equals = one_of![ let def_colon_or_equals = one_of![
map!(equals_with_indent_help(), |_| DefKind::DefEqual), map!(equals_with_indent_help(), |_| DefKind::DefEqual),
map!(colon_with_indent(), |_| DefKind::DefColon), map!(colon_with_indent(), |_| DefKind::DefColon),
map!(backarrow_with_indent(), |_| DefKind::DefArrow), map!(backpassing_with_indent(), |_| DefKind::DefArrow),
]; ];
then( then(
@ -1766,7 +1766,6 @@ fn ident_then_no_args<'a>(
Equals(u16), Equals(u16),
Colon(u16), Colon(u16),
Backarrow(u16), Backarrow(u16),
Comma(u16),
} }
let parser = optional(and!( let parser = optional(and!(
@ -1774,14 +1773,12 @@ fn ident_then_no_args<'a>(
one_of![ one_of![
map!(equals_with_indent_help(), Next::Equals), map!(equals_with_indent_help(), Next::Equals),
map!(colon_with_indent(), Next::Colon), map!(colon_with_indent(), Next::Colon),
map!(backarrow_with_indent(), Next::Backarrow), map!(backpassing_with_indent(), Next::Backarrow),
// map!(comma_with_indent(), Next::Comma),
] ]
)); ));
let (_, next, state) = parser.parse(arena, state)?; let (_, next, state) = parser.parse(arena, state)?;
// no arguments, that limits the options
match next { match next {
Some((ident_spaces, next)) => { Some((ident_spaces, next)) => {
let pattern: Pattern<'a> = Pattern::from_ident(arena, loc_ident.value); let pattern: Pattern<'a> = Pattern::from_ident(arena, loc_ident.value);
@ -1834,26 +1831,6 @@ fn ident_then_no_args<'a>(
Ok((MadeProgress, parsed_expr, state)) Ok((MadeProgress, parsed_expr, state))
} }
Next::Comma(equals_indent) => {
// We got '<-' with no args before it
let def_start_col = state.indent_col;
let (_, spaces_after_equals, state) =
space0_e(min_indent, EExpr::Space, EExpr::IndentDefBody)
.parse(arena, state)?;
let (_, parsed_expr, state) = parse_backarrow_help(
min_indent,
def_start_col,
equals_indent,
arena,
state,
loc_pattern,
spaces_after_equals,
)?;
Ok((MadeProgress, parsed_expr, state))
}
Next::Colon(colon_indent) => { Next::Colon(colon_indent) => {
parse_def_signature_help(min_indent, colon_indent, arena, state, loc_pattern) parse_def_signature_help(min_indent, colon_indent, arena, state, loc_pattern)
} }
@ -2048,7 +2025,7 @@ fn comma_with_indent<'a>() -> impl Parser<'a, u16, EExpr<'a>> {
} }
} }
fn backarrow_with_indent<'a>() -> impl Parser<'a, u16, EExpr<'a>> { fn backpassing_with_indent<'a>() -> impl Parser<'a, u16, EExpr<'a>> {
move |_arena, state: State<'a>| { move |_arena, state: State<'a>| {
let indent_col = state.indent_col; let indent_col = state.indent_col;