diff --git a/requestty-macro/Cargo.toml b/requestty-macro/Cargo.toml index 1157092..685cb8c 100644 --- a/requestty-macro/Cargo.toml +++ b/requestty-macro/Cargo.toml @@ -15,7 +15,7 @@ proc-macro = true [dependencies] proc-macro2 = "1" -syn = { version = "1", features = ["full"] } +syn = "2" quote = "1" bitflags = "1.3" rustversion = "1.0" diff --git a/requestty-macro/src/helpers.rs b/requestty-macro/src/helpers.rs index 73c4b41..549dbbb 100644 --- a/requestty-macro/src/helpers.rs +++ b/requestty-macro/src/helpers.rs @@ -87,7 +87,9 @@ impl Choices { let content; syn::bracketed!(content in input); - content.parse_terminated(parser).map(Choices::Array) + content + .parse_terminated(parser, Token![,]) + .map(Choices::Array) } else { input.parse().map(Choices::Expr) } @@ -205,7 +207,7 @@ fn make_into(expr: syn::Expr) -> syn::Expr { attrs: Vec::new(), qself: None, path: syn::Path { - leading_colon: Some(syn::token::Colon2(expr.span())), + leading_colon: Some(syn::token::PathSep(expr.span())), segments: from_path_segments, }, } diff --git a/requestty-macro/src/lib.rs b/requestty-macro/src/lib.rs index cc93e54..6ecccb1 100644 --- a/requestty-macro/src/lib.rs +++ b/requestty-macro/src/lib.rs @@ -55,7 +55,7 @@ impl Parse for Questions { Ok(Self { inline, - questions: input.parse_terminated(Question::parse)?, + questions: input.parse_terminated(Question::parse, Token![,])?, }) } } diff --git a/requestty-macro/src/question.rs b/requestty-macro/src/question.rs index 525a9ab..7d54942 100644 --- a/requestty-macro/src/question.rs +++ b/requestty-macro/src/question.rs @@ -307,7 +307,7 @@ impl Parse for Question { if let QuestionKind::Custom = kind { if opts.prompt.is_none() { return Err(syn::Error::new( - brace.span, + brace.span.join(), "missing required option `prompt`", )); } @@ -315,8 +315,9 @@ impl Parse for Question { Ok(Self { kind, - name: name - .ok_or_else(|| syn::Error::new(brace.span, "missing required option `name`"))?, + name: name.ok_or_else(|| { + syn::Error::new(brace.span.join(), "missing required option `name`") + })?, opts, }) }