Types
LuaNimFunction = proc (L: LuaStatePtr): cint {.cdecl, ...raises: [].}
LuaStatePtr {.importc: "lua_State*".} = object
LuaType {.importc: "enum LuaType", header: "pd_api.h", bycopy.} = enum kTypeNil, kTypeBool, kTypeInt, kTypeFloat, kTypeString, kTypeTable, kTypeFunction, kTypeThread, kTypeObject
LuaUDObject {.importc: "LuaUDObject", header: "pd_api.h", bycopy.} = object
LValType {.importc: "l_valtype", header: "pd_api.h".} = enum kInt, kFloat, kStr
PlaydateLua {.importc: "const struct playdate_lua", header: "pd_api.h", bycopy.} = object pushFunction* {.importc: "pushFunction".}: proc (f: LuaNimFunction) {.cdecl.} stop* {.importc: "stop".}: proc () {.cdecl, ...raises: [].} start* {.importc: "start".}: proc () {.cdecl, ...raises: [].} ## stack operations ## for returning values back to Lua pushNil* {.importc: "pushNil".}: proc () {.cdecl, ...raises: [].} ## sets item on top of stack and pops it ## pushes item at slot to top of stack, returns stack position ## calling lua from C has some overhead. use sparingly!
- these two return 1 on success, else 0 with an error message in outErr