feat: support = operator in function args (#1128)

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
This commit is contained in:
universalmind303 2024-02-08 19:24:42 -06:00 committed by GitHub
parent 6245231479
commit d981b0996a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 82 additions and 3 deletions

View file

@ -8106,7 +8106,22 @@ impl<'a> Parser<'a> {
self.expect_token(&Token::RArrow)?;
let arg = self.parse_wildcard_expr()?.into();
Ok(FunctionArg::Named { name, arg })
Ok(FunctionArg::Named {
name,
arg,
operator: FunctionArgOperator::RightArrow,
})
} else if self.peek_nth_token(1) == Token::Eq {
let name = self.parse_identifier(false)?;
self.expect_token(&Token::Eq)?;
let arg = self.parse_wildcard_expr()?.into();
Ok(FunctionArg::Named {
name,
arg,
operator: FunctionArgOperator::Equals,
})
} else {
Ok(FunctionArg::Unnamed(self.parse_wildcard_expr()?.into()))
}