基于 Rust 编写的 CLI 工具,用于自动纠正文案,给 CJK (中文、日语、韩语)与英文混写的场景,补充正确的空格,同时尝试以安全的方式自动纠正标点符号等等。
除了纯文本的自动纠正以外,AutoCorrect 基于 Parser 的方式对各种类型源代码文件支持,能自动识别文件名,并准确找到字符串、注释做自动纠正。
基本能支持所有的语言,实现逻辑简单,基于语言的方言做了 Parser,只处理字符串、注释部分,其他的忽略。
AutoCorrect 的方案最早于 2013 年 出现于 Ruby China 的项目,并逐步完善规则细节,当前准确率较高(级少数异常情况),你可以放心用来辅助你完整自动纠正动作。
https://ruby-china.org/topics/20489
本来最早的时候,只是写了库,用来解决 Ruby, Go, Rust 项目里面使用,后面逐渐发现,深入一点实现,可以搞成一个 fmt 工具,自动处理,加上当前 VS Code 插件的能力,可以搞一个保存的时候自动纠正。
https://marketplace.visualstudio.com/items?itemName=huacnlee.auto-correct
AutoCorrect 设计的原则是类似 Gofmt 默认开启,在 VS Code 保存的时候会执行格式化。
https://github.com/huacnlee/autocorrect
希望这个小工具能帮到你改善项目中的文档、注释、文案,也期望能帮助改善中文开源社区项目的文案细节。
正在实现检查提示机制,作为一个可选项:
用于 Lint 检查,可以配置到 CI 里面。
Add to your .github/workflows/ci.yml
steps:
- name: Check source code
uses: actions/checkout@main
- name: AutoCorrect
uses: huacnlee/autocorrect-action@main
autocorrect:
stage: build
image: huacnlee/autocorrect:latest
script:
- autocorrect --lint ./
1
HankLu 2021-07-01 22:37:12 +08:00
只能空格吗?逗号那些呢?
|
2
MajestySolor 2021-07-02 02:09:58 +08:00
挺好的,我个人非常讨厌中英文混在一起不空格的人 😺
|
3
lucifer9 2021-07-02 07:08:01 +08:00 via iPhone
代码里面混的少,主要是 md 里面
|
4
weeshin 2021-07-02 07:30:26 +08:00
@MajestySolor
特意去查了《中文出版物夹用英文的编辑标准》,里面也没有强制需要在中英文之间加空格 |
5
kiritoxf 2021-07-02 09:13:24 +08:00
baurine.vscode-pangu
|
6
Rache1 2021-07-02 09:17:03 +08:00
😂 平时回帖,我都要去这样加空格
|
7
passerbytiny 2021-07-02 09:40:01 +08:00 via Android
规范是,中英文之间输入时不空格,但排版时自动加空格。奈何 Web 发展太快了,规范跟不上,现在 Word 网页版的空格排版空能都不完全,而 HTML 规范以及基于此的 Markdown 等轻量标记语言,一直都没有涉及跨语言的排版。
请注意:手动加的空格,而不是排版是自动加的空格,是会影响字数统计的。这对源代码上无影响,因为代码通常只统计行数不统计字数。但是对字数敏感的文章,手动加空格会产生严重影响。 |
8
huacnlee OP @passerbytiny
现在我设计这个可以实现 Lint 机制,对可能有问题的部分做出标识,然后给出纠正提示。 正在做,结合当前实现以及 VS Code Extension 的机制可以搞,应该这周末就可以用了。 ![]( https://l.ruby-china.com/photo/huacnlee/1f8ad3d3-8b0d-468a-a9fb-042cf9ed5a36.png!large) |
9
gs1998 2021-07-02 12:35:34 +08:00
感谢🙏!非常讨厌中英文连在一起的人!
|
10
XIVN1987 2021-07-02 20:59:45 +08:00
这 vscode 什么主题?看起来很漂亮
|
11
huacnlee OP |