- The constants provided by the language _G, _VERSION, math.pi and math.huge ought not to be categorized in constant.language.lua. They don't make sense being colored the same as true/false/nil. In my own corrected version of the Lua package, I placed these under support.constant.lua, since they're variables provided by the base libraries.
- ST3's Lua package also doesn't recognize the other constants provided by the base libraries: io.stderr, io.stdin, io.stdout, package.loaders, package.config. These belong in the same place as the above. (package.loaders was renamed package.searchers in 5.2, so possibly both should be included; 5.1 is still popular).
- It is also missing a few library functions from support.function.lua, namely: load, newproxy, rawlen, table.pack, table.unpack, package.searchpath.
I've made these corrections in my own local package for Lua, but there's also one other correction that needs to be made, and I don't understand regex well enough to do it. All functions in the standard library "string" and some from the standard library "io" can also be called in the form var:func(), eg ("mystring%d"):format(1) or file:write("hello"). So this specific subset of functions should be scoped such that they are preceded by a colon.
The functions are
- string: byte char dump find format gmatch gsub len lower match rep reverse sub upper
- io: close flush lines read seek setvbuf write