aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker_macros/src
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-14 02:24:11 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-14 02:27:36 +0800
commit3f90ae7c987b16d485a2fb4e9f9bcb3774d37530 (patch)
tree31c8d165c2a0aa6d1c898a061931b2ea73393c52 /mingling_picker_macros/src
parentde370df01a171b4fd910dfa9a067830acd1f9a3c (diff)
refactor: rename PickerArguments to PickerArgs and PickerRequirement to
PickerFlag
Diffstat (limited to 'mingling_picker_macros/src')
-rw-r--r--mingling_picker_macros/src/flag.rs (renamed from mingling_picker_macros/src/req.rs)8
-rw-r--r--mingling_picker_macros/src/lib.rs20
2 files changed, 14 insertions, 14 deletions
diff --git a/mingling_picker_macros/src/req.rs b/mingling_picker_macros/src/flag.rs
index 35c9027..b59b04c 100644
--- a/mingling_picker_macros/src/req.rs
+++ b/mingling_picker_macros/src/flag.rs
@@ -2,11 +2,11 @@ use proc_macro::{TokenStream, TokenTree};
use proc_macro2::TokenStream as TS2;
use quote::quote;
-pub(crate) fn req(input: TokenStream) -> TokenStream {
+pub(crate) fn flag(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!("req! requires at least one argument") }.into();
+ return quote! { compile_error!("flag! flaguires at least one argument") }.into();
}
let first = &args[0];
@@ -15,7 +15,7 @@ pub(crate) fn req(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!("req! only supports at most one short name") }.into();
+ return quote! { compile_error!("flag! only supports at most one short name") }.into();
}
// Extract short char and string aliases
@@ -76,7 +76,7 @@ pub(crate) fn req(input: TokenStream) -> TokenStream {
})
.unwrap_or(TS2::new());
- let import = quote! { ::mingling::picker::PickerRequirement };
+ let import = quote! { ::mingling::picker::PickerFlag };
if ty.is_some() {
quote! { #import::<#ty_ts> }
} else {
diff --git a/mingling_picker_macros/src/lib.rs b/mingling_picker_macros/src/lib.rs
index a3c93eb..fe1b53c 100644
--- a/mingling_picker_macros/src/lib.rs
+++ b/mingling_picker_macros/src/lib.rs
@@ -1,7 +1,7 @@
use proc_macro::TokenStream;
+mod flag;
mod internal_repeat;
-mod req;
/// 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 `PickerRequirement`.
+/// Quick builder for `PickerFlag`.
///
/// # Syntax
///
/// ```ignore
-/// use mingling_picker_macros::req;
+/// use mingling_picker_macros::flag;
///
-/// let basic = req![name: String];
-/// let with_short_name = req![name: String, 'n'];
-/// let with_short_alias = req![name: String, 'n', "alias"];
-/// let positional = req![String];
-/// let positional_with_name = req![String, 'n', "alias"];
+/// 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"];
/// ```
#[proc_macro]
-pub fn req(input: TokenStream) -> TokenStream {
- req::req(input)
+pub fn flag(input: TokenStream) -> TokenStream {
+ flag::flag(input)
}