yliu

时来天地皆同力,运去英雄不自由

花了一天我写了这样一个 Prettier 插件


spacexcode-coverview-5241@2x

Prettier 在日常经常使用,除了格式化代码之外在编写文档的时候也会选择使用,但是最近安装 Prettier 到项目依赖之后发现 md 文件的格式化文档竟然失效了。

排查了一番原因,最终在 GitHub 上找到了相关讨论 Markdown: Add an option to re-enable Prettier 2.x's automatic space insertion in CJK 大概就是说日文和韩文跟中文有一些文字是相同的,如果给中文添加空格,对其他语言是没有必要的且书写规范是错误的。而且检测并不好实现,且这也不是 Prettier 的职责。

image

目前这个问题只会出现在 3.0 之后的版本,但是在 3.0 之前的版本默认会在中英文之间添加空格,例如

测试abc

格式化之后

测试 abc

在之前版本这个功能对于其他国家的用户就要了老命,为此韩国人还开发了一个插件 prettier-plugin-md-nocjsp 就是阻止格式化插入空格。

什么才是文化输出,战术后仰

不过事情并没有这么简单,你说为了其他国家考虑,有些功能实现不了我认了!但是你最起码提供一个选项呀,可以让其开启或者关闭,不过不好意思,因为 Prettier 是一个固执己见的代码格式化程序。

image-1

这真是一个悲伤的消息,所以以上就是全部开发 Prettier 插件的动机,当然只是给中英文插入空格这个事情就太小了,它基于阮一峰的推荐的中文写作规范,使用 lint-md 来对 md 文件进行格式化。

GitHub 地址: prettier-plugin-lint-md