我正在编写一个SublimeLinter (一个SublimeText插件)插件,它使用luacheck作为我们使用的自定义语法。到目前为止,我只使用了cmd = 'luacheck @',当SublimeLinter调用luacheck时,@显然会被文件名所取代。问题是,当SublimeLinter处于“后台”模式时,在保存文件之前,警告实际上不会更新,例如,如果我删除包含警告的行,警告仍然存在,只是突出显示一个空格(直到我保存为止)。我有一种感觉,这是因为我使用的是@,因为它被文件名替代了,所以在文件更新之前,luacheck不会更新。但是,cmd上的SublimeLinter文档不是很好,我很难弄清楚如何正确地编写一个文档。他们GitHub上的插件似乎也没有使用@。如果我复制默认的lua插件(它使用cmd = 'luac -p * -')并使用cmd = 'luacheck * -',luacheck将执行,但只返回I/O错误。有人可以提供一些关于SublimeLinter的cmd属性是如何工作的更深入的见解吗?
编辑:我能够通过在linter.py中使用tempfile_suffix = 'lua'来解决这个问题。根据SublimeLinter文档,这是用于不使用stdin的linters,所以我想我的问题可能是luacheck的问题。
发布于 2014-06-17 22:19:44
我能够通过在linter.py中使用tempfile_suffix = 'lua'来解决这个问题。根据SublimeLinter文档,这是用于不使用stdin的linter,所以我想我的问题可能是与luacheck有关。
https://stackoverflow.com/questions/24248099
复制相似问题