我为FOSS项目NUT共同维护一个Makefile,该文件使用aspell和自定义项(项目跟踪的词典文件)来检查手册页和其他文档的来源。可以从CI调用该配方以验证拼写为make spellcheck
=> $(ASPELL) -a -t $(ASPELL_NUT_COMMON_ARGS)
,也可以由开发人员在编辑某些页面并添加新术语后对其进行维护,例如make spellcheck-interactive
=> $(ASPELL) check $(ASPELL_NUT_COMMON_ARGS)
,其中ASPELL_NUT_COMMON_ARGS设置自定义字典和首选语言/编码设置的路径。有关配方代码或要在本地试用,请参见https://github.com/networkupstools/nut/blob/master/docs/Makefile.am#L227
我面临的问题是,当开发人员在各种系统上运行make spellcheck-interactive
时,自定义词典似乎会丢失部署中字典中其他位置已经定义的单词。这是一个问题,因为在提交并推送更改后的文件后,另一个开发人员系统(或Travis CI环境)上的自定义或系统词典都没有特定的单词,并且CI make spellcheck
在以前工作过的地方失败。>
问题是,aspell中是否存在一些模式,可以让其从其自定义词典中删除关键字-仅添加在当前交互式会话中添加的内容,或者我是否应该使用外部方法来保存和合并旧版本新的状态(添加带有Shell Magic的Makefile配方)?