【发布时间】:2014-08-06 12:55:13
【问题描述】:
我正在编写一个 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 的 linter,所以我想我的问题可能是 luacheck。
【问题讨论】:
标签: sublime-text-plugin sublimelinter