2个稳定版本
1.1.0 | 2021年12月28日 |
---|---|
1.0.0 | 2021年11月3日 |
#1759 在 文本处理
44KB
862 行
命名
命名是一个命令行工具,可以帮助您从文件或stdin中提取和转换标识符的命名格式(case|notation)。使用此工具为相对文件上的进一步操作(匹配、替换...)准备标识符名称字符串。
快速链接
它能做什么?
您可以将标识符转换为不同的命名格式,并具有多种输出格式。
$ echo "userId" | naming
userId USER_ID user_id user-id userId UserId
$ echo "userId" | naming --json
{"result":[{"origin":"userId","screaming_snake":"USER_ID","snake":"user_id",
"kebab":"user-id","camel":"userId","pascal":"UserId"}]}
$ echo "userId" | naming --regex
userId USER_ID|user_id|user-id|userId|UserId
您可以从文件或stdin中提取标识符(通过管道,如上所示)。
$ cat a.txt
SCREAMING_SNAKE
snake_case
kebab-case
camelCase
PascalCase
$ naming a.txt
SCREAMING_SNAKE SCREAMING_SNAKE screaming_snake screaming-snake screamingSnake ScreamingSnake
snake_case SNAKE_CASE snake_case snake-case snakeCase SnakeCase
kebab-case KEBAB_CASE kebab_case kebab-case kebabCase KebabCase
camelCase CAMEL_CASE camel_case camel-case camelCase CamelCase
PascalCase PASCAL_CASE pascal_case pascal-case pascalCase PascalCase
以下示例比手动输入命令更复杂,但它自动化了这个过程,这也是我们制作此工具的原因。通过将此工具与其他工具结合使用,您可以编写有关标识符格式相关任务的shell脚本。
# Search all positions of an identifier in project directory
$ echo "pageSize" | naming | xargs -n1 -I {} -- grep -r {} src_dir
# Change one identifier from camelCase to snake_case
$ echo "pageSize" | naming --output=s | \
xargs -l -t -- bash -c 'sed -i "s/$0/$1/g" src_file'
bash -c 'sed -i "s/$0/$1/g" src_file' pageSize page_size
(^-- `xargs -t` output) (run sed command...)
安装
我们为 x86_64-pc-windows-gnu
、x86_64-unknown-linux-musl
和 x86_64-apple-darwin
平台提供预编译的二进制文件,您可以在 发布页面 下载它们。
您也可以从源代码(假设您已安装 Rust开发工具链)直接构建它,按照 构建 进度进行。
或者只需键入
$ cargo install naming_clt
以安装稳定版本。
构建
常规过程即可
$ git clone https://github.com/boholder/naming
$ cd naming
$ cargo build --release
$ ./target/release/naming --help
$ (print help information)
在将源代码克隆到本地计算机后,您可以通过以下方式运行所有测试:
$ cd naming
$ cargo test --all
有两个 被忽略的测试,请勿担心,这两个测试使我们缩小了工具的功能,避免重复实现grep的功能。
贡献
依赖
~3–4.5MB
~70K SLoC