playlate icon indicating copy to clipboard operation
playlate copied to clipboard

Luacheck throws errors for additional assignment operators

Open bedinotti opened this issue 2 years ago • 2 comments

Now that I've got luacheck working in VSCode and Nova, I've begun building some stuff with it. Unfortunately, while the new Additional assignment operators that the Playdate SDK adds to the language are useful, but luacheck doesn't know about them. Using them in your project results in false-negative errors -- errors reported by luacheck that aren't actually problems in your code.

Luacheck error in Nova Luacheck error in vscode

Unfortunately, I think luacheck is right here -- for normal Lua code these are invalid operators. It just doesn't know about the PlaydateSDK's additions.


I've filed https://github.com/lunarmodules/luacheck/issues/53 to see if they could make the operators understood by luacheck extensible in the .luacheckrc file. In the meantime, either:

  • Don't use these operators
  • Disable luacheck
  • Stare at these errors and laugh at your ability to be smarter than a computer when writing code.

bedinotti avatar Mar 16 '22 15:03 bedinotti

FWIW, this can be solved in VSCode by adding "Lua.runtime.nonstandardSymbol": ["+=", "-=", "*=", "/="] to settings.json.

bdougherty avatar May 12 '22 00:05 bdougherty

I found some additional information here.

This seems to be sufficient for .luacheckrc:

std = "lua54+playdate"
operators = {"+=", "-=", "*=", "/="}

ntippie avatar Jan 02 '23 17:01 ntippie