allow the last attribute in a component to contain formatting (#504)

This commit is contained in:
Demonthos 2022-07-27 15:52:09 -05:00 committed by GitHub
parent 15e9aa1958
commit 4a8a7dd5f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -234,13 +234,15 @@ impl Parse for ComponentField {
let content = ContentField::ManExpr(input.parse()?);
return Ok(Self { name, content });
}
if input.peek(LitStr) && input.peek2(Token![,]) {
let t: LitStr = input.fork().parse()?;
if is_literal_foramtted(&t) {
let content = ContentField::Formatted(input.parse()?);
return Ok(Self { name, content });
if input.peek(LitStr) {
let forked = input.fork();
let t: LitStr = forked.parse()?;
// the string literal must either be the end of the input or a followed by a comma
if forked.is_empty() || forked.peek(Token![,]) {
if is_literal_foramtted(&t) {
let content = ContentField::Formatted(input.parse()?);
return Ok(Self { name, content });
}
}
}