#snake-case #camelcase #rust

bin+lib untools

一个简单易用的下划线变量命名工具

11 个稳定版本

1.0.10 2024 年 5 月 14 日
1.0.9 2024 年 5 月 12 日
1.0.7 2024 年 5 月 10 日
1.0.4 2024 年 5 月 9 日

#280 in 开发工具

Download history 557/week @ 2024-05-06 220/week @ 2024-05-13 32/week @ 2024-05-20 54/week @ 2024-05-27 33/week @ 2024-06-03 51/week @ 2024-06-10 32/week @ 2024-06-17

478 每月下载量

MIT 许可证

15KB
160

中文文档

Crates.io License rustc 1.77.0 Documentation GitHub stars GitHub forks GitHub issues Contributors

一个将变量名从 camelCase 转换为 snake_case 的 Rust 工具包。

安装

将以下依赖项添加到您的 Cargo.toml 文件中

[dependencies]
untools = "1.0.0" # This is just an example. It is recommended to use the latest version number.

用法

use untools::camel_to_snake;

fn main() {
    let camel_case_name = "myVariableName";
    let snake_case_name = camel_to_snake(camel_case_name, true);
    assert!("MY_VARIABLE_NAME', snake_case_name);
}
use untools::batch_convert;

fn main() {
    // Specify the input file, output file, naming convention, and whether to operate in silent mode.
    batch_convert("input.txt", "output.txt", true, false);
}

在上面的示例中

  • "input.txt" 是包含要转换的变量名的输入文件的路径。
  • "output.txt" 是转换后的变量名将被写入的输出文件的路径。
  • true 表示变量名将被转换为 SCREAMING_SNAKE_CASE。将其设置为 false 以进行 camelCase 转换。
  • false 表示程序将不在静默模式下运行。

命令行界面用法

$ untools -h
Usage: untools [OPTIONS] <--camel-to-snake|--snake-to-camel|--batch <OUTPUT_FILE>> <INPUT>

Arguments:
  <INPUT>

Options:
  -c, --is-constant
      --camel-to-snake
      --snake-to-camel
      --batch <OUTPUT_FILE>
  -s, --silent
  -h, --help                 Print help
  -V, --version              Print version
$ untools --camel-to-snake "helloWorld" -c -s
HELLO_WORLD
$ untools --snake-to-camel "hello_world" -c -s
HelloWorld
$ untools --camel-to-snake "hello_world" -s
helloWorld
$ untools --batch "input.txt" "output.txt" -s 

未来功能

以下是我们在未来计划添加到该工具的功能和改进。如果您有任何建议或想法,请随时分享!

  1. 支持多种命名约定
    • 添加对其他命名约定(如 SCREAMING_SNAKE_CASE)的支持。
  2. 批量转换功能
    • ✅ 允许用户一次性转换多个变量名。
  3. 交互式模式
    • ✅ 创建一个交互式命令行界面,以提供更直观的用户体验。 #3
  4. 文件处理功能
    • ✅ 支持批量转换文件中的变量名。
  5. 自定义规则
    • 允许用户定义自定义转换规则。
  6. 与编辑器插件的集成
    • 开发编辑器 plugins 以允许用户在其编辑器中直接使用转换工具。
  7. 图形用户界面
    • 开发一个图形用户界面,以提供更友好的用户体验。
  8. 支持反向转换
    • ✅ 将下划线转换为 PascalCase

如果您对上述功能有任何想法或建议,请随时在 Issues 部分提出或直接提交 Pull Request。


许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。

依赖项

~1.6–9MB
~71K SLoC