iTools Macros
🔧 iTools Macros 是 iTools 项目的宏定义模块,提供各种 proc macro 支持。
功能
- 提供命令行参数解析宏
- 提供错误处理宏
- 提供翻译宏
t!(支持重载)
翻译宏用法
基本翻译
use itools::t;
let greeting = t!("hello");
println!("{}", greeting);
带参数的翻译
use itools::t;
let greeting = t!("greeting", &[("name", "World")]);
println!("{}", greeting);
命令行参数解析宏
#[itools_macros::Command]
pub struct Cli {
pub command: Command,
}
#[itools_macros::Command]
pub enum Command {
Init {
name: String,
},
Build,
}
错误处理宏
#[itools_macros::Error]
pub enum AppError {
#[error("network_error")]
NetworkError,
#[error("file_not_found")]
FileNotFound { path: String },
}
注意事项
- 宏定义需要在
#[proc_macro_attribute] 标注的函数中使用
- 翻译宏依赖于 iTools 的本地化模块
- 命令行参数解析宏会自动生成相应的解析代码
- 错误处理宏会自动生成实现
Error trait 的代码