I'm writing a SublimeLinter (a SublimeText plugin) plugin that uses luacheck
for a custom syntax we use. So far I have it working with simply cmd = 'luacheck @'
, the @
being apparently replaced by the filename when SublimeLinter calls luacheck
. The problem is that with SublimeLinter on 'background' mode, the warnings don't actually update until the file is saved, e.g. if I remove a line containing a warning the warning will still be there, just highlighting a blank space (until I save, that is). I have a feeling that this is because I'm using the @
and since this is replaced by the filename, luacheck
won't update till the file is updated. However, the SublimeLinter documentation on cmd
is not great, and I'm having trouble figuring out how to write one correctly. None of the plugins on their GitHub seem to use @
, either. If I copy the default lua
plugin (which uses cmd = 'luac -p * -'
) and use cmd = 'luacheck * -'
, luacheck
executes but only returns an I/O error. Could someone maybe provide some more insight into how SublimeLinter's cmd
attribute works?
EDIT: I was able to fix this issue by using tempfile_suffix = 'lua'
in linter.py
. According to the SublimeLinter docs, this is used for linters that don't use stdin
, so I suppose my issue could have been with luacheck
instead.