aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker_macros/src
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_picker_macros/src')
-rw-r--r--mingling_picker_macros/src/arg.rs (renamed from mingling_picker_macros/src/flag.rs)14
-rw-r--r--mingling_picker_macros/src/lib.rs18
2 files changed, 16 insertions, 16 deletions
diff --git a/mingling_picker_macros/src/flag.rs b/mingling_picker_macros/src/arg.rs
index 71302ae..e273d23 100644
--- a/mingling_picker_macros/src/flag.rs
+++ b/mingling_picker_macros/src/arg.rs
@@ -2,11 +2,11 @@ use proc_macro::{TokenStream, TokenTree};
use proc_macro2::TokenStream as TS2;
use quote::quote;
-pub(crate) fn flag(input: TokenStream) -> TokenStream {
+pub(crate) fn arg(input: TokenStream) -> TokenStream {
let tokens: Vec<TokenTree> = input.into_iter().collect();
let args = split_at_commas(&tokens);
if args.is_empty() {
- return quote! { compile_error!("flag! flaguires at least one argument") }.into();
+ return quote! { compile_error!("arg! flaguires at least one argument") }.into();
}
let first = &args[0];
@@ -15,7 +15,7 @@ pub(crate) fn flag(input: TokenStream) -> TokenStream {
// Validate: at most one char literal
let char_count = rest.iter().filter(|a| is_char_literal(a)).count();
if char_count > 1 {
- return quote! { compile_error!("flag! only supports at most one short name") }.into();
+ return quote! { compile_error!("arg! only supports at most one short name") }.into();
}
// Extract short char and string aliases
@@ -30,8 +30,8 @@ pub(crate) fn flag(input: TokenStream) -> TokenStream {
.collect();
// Parse first argument
- // flag![name: Type] → name, with explicit type
- // flag![Type] → positional type, no name
+ // arg![name: Type] → name, with explicit type
+ // arg![Type] → positional type, no name
let colon_pos = first
.iter()
.position(|t| matches!(t, TokenTree::Punct(p) if p.as_char() == ':'));
@@ -70,10 +70,10 @@ pub(crate) fn flag(input: TokenStream) -> TokenStream {
.unwrap_or(TS2::new());
#[cfg(feature = "mingling_support")]
- let import = quote! { ::mingling::picker::PickerFlag };
+ let import = quote! { ::mingling::picker::PickerArg };
#[cfg(not(feature = "mingling_support"))]
- let import = quote! { ::mingling_picker::PickerFlag };
+ let import = quote! { ::mingling_picker::PickerArg };
if ty.is_some() {
quote! { #import::<#ty_ts> }
diff --git a/mingling_picker_macros/src/lib.rs b/mingling_picker_macros/src/lib.rs
index fe1b53c..33bb67d 100644
--- a/mingling_picker_macros/src/lib.rs
+++ b/mingling_picker_macros/src/lib.rs
@@ -1,6 +1,6 @@
use proc_macro::TokenStream;
-mod flag;
+mod arg;
mod internal_repeat;
/// Core proc-macro: repeats a template body `count` times.
@@ -11,20 +11,20 @@ pub fn internal_repeat(input: TokenStream) -> TokenStream {
internal_repeat::internal_repeat(input)
}
-/// Quick builder for `PickerFlag`.
+/// Quick builder for `PickerArg`.
///
/// # Syntax
///
/// ```ignore
/// use mingling_picker_macros::flag;
///
-/// let basic = flag![name: String];
-/// let with_short_name = flag![name: String, 'n'];
-/// let with_short_alias = flag![name: String, 'n', "alias"];
-/// let positional = flag![String];
-/// let positional_with_name = flag![String, 'n', "alias"];
+/// let basic = arg![name: String];
+/// let with_short_name = arg![name: String, 'n'];
+/// let with_short_alias = arg![name: String, 'n', "alias"];
+/// let positional = arg![String];
+/// let positional_with_name = arg![String, 'n', "alias"];
/// ```
#[proc_macro]
-pub fn flag(input: TokenStream) -> TokenStream {
- flag::flag(input)
+pub fn arg(input: TokenStream) -> TokenStream {
+ arg::arg(input)
}