3 个版本
使用旧的 Rust 2015
0.1.3 | 2017 年 7 月 29 日 |
---|---|
0.1.2 | 2017 年 7 月 29 日 |
0.1.1 | 2017 年 7 月 22 日 |
1388 在 文本处理 中
每月 359 次下载
46KB
1K SLoC
comment-strip
去除注释。
从文本文件中删除注释。
注释在配置文件、源代码、shell 脚本和其他基于文本的文件中很有用。但有时它们只会分散对实际内容的注意力。所以,使用这个工具,您可以移除最常见的格式的注释。
目前支持的注释样式
- Shell 样式
- XML 样式(CDATA 标签未转义)
- C 样式
我开始这个项目是为了增强我对 Rust 编程语言的实际知识。我找不到一个简单适用的解决方案来检测注释,除了一些 sed 魔法之外,所以我决定尝试一下。如果您喜欢这个工具并且想贡献或者只是留下一个便条,请随意打开一个问题。
安装 / 编译
要安装 comment-strip,您可以使用 cargo。只需运行 cargo install comment-strip
以安装最新版本。
要自己编译 comment-strip,您需要 Rust 的较新版本。如果您使用 cargo,获取可执行文件很简单。
git clone [email protected]:XOSplicer/comment-strip.git
cdcomment-strip
cargobuild --release
cargo test
(可选)./target/release/strip --help
显示用法
用法
$ comment-strip --help
comment-strip 0.1.2
Felix Stegmaier <[email protected]>
Strip comments away, default style is Shell comment style
USAGE:
comment-strip [FLAGS] [OPTIONS] [INPUT]
FLAGS:
-c, --c-style Strip away C style comments e.g. `/* some comment */` or `// some line comment`, only one style may be specified
-h, --help Prints help information
-B, --no-remove-blank-lines don't remove multiple blank lines
-s, --shell-style Strip away shell style comments e.g. `# some line comment`, only one style may be specified
-V, --version Prints version information
-x, --xml-style Strip away XML style comments e.g. `<!-- some comment -->`, only one style may be specified
OPTIONS:
-o, --output <output> Sets the output file to uses, uses stdout if not set
ARGS:
<INPUT> Sets the input file to use, uses stdin if not set
示例
$ cat ./my_shell_script.sh
#!/bin/bash # you can comment in shebang
##########################
# My awsome shell script #
##########################
uname -a # display the current os
# let's find out who we are
whoami
pwd #and where we are
# uncomment to also list files
# ls -lah
echo 'Hello, "world" #no comment' #comment
$ comment-strip --shell-style my_shell_script.sh
#!/bin/bash
uname -a
whoami
pwd
echo 'Hello, "world" #no comment'
作者
- Felix Stegmaier
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件
贡献
请随意使用问题和拉取请求为此项目做出贡献。任何合并的代码都将被视为与本项目相同的许可证。
依赖关系
~1MB
~12K SLoC