8个版本
| 0.4.0 | 2023年5月15日 | 
|---|---|
| 0.3.3 | 2020年10月6日 | 
| 0.3.2 | 2020年9月30日 | 
| 0.3.0 | 2020年7月16日 | 
| 0.1.1 | 2019年5月7日 | 
#386 在 过程宏 中
9,189 每月下载量
用于 27 个crates (12 直接)
9KB
168 行
Casey
案例转换宏
Casey将给定输入ident的案例进行转换。
虽然是小众但可能在其他宏中很有用。
use casey::{pascal, lower, shouty, snake, upper};
lower!(ABC);    // renders: `abc`
upper!(abc);    // `ABC`
snake!(ABC);    // `a_b_c`
pascal!(ab_c);  // `AbC`
shouty!(a_b_c); // `A_B_C`
令牌流
Casey宏可以对TokenStream进行操作,例如。
    snake!(
        #[derive(PartialEq)]
        struct MockStruct {}
        impl MockStruct {
            fn test() -> bool { true }
        }
    );
    assert!(mock_struct::test());
    assert!(mock_struct::test() == mock_struct::test())
流中的所有ident令牌都将应用案例转换(关键字和属性宏将被忽略)。
注意事项
类型名称,包括内置类型,不是关键字,例如 bool、usize、i32等,并且 将会 通过Casey进行转换。
pascal!(let test: bool = true); // renders: `let Test: Bool = true;`
依赖
~1.5MB
~35K SLoC