improve interpreter support

This commit is contained in:
Syping 2019-10-17 14:25:49 +02:00
parent d68f279f96
commit a509408b05
2 changed files with 61 additions and 22 deletions

View file

@ -19,6 +19,7 @@
#include "LuaEngineIO.h"
#include "LuaEngineOS.h"
#include <QApplication>
#include <QTextStream>
#include <QFont>
#include <QFile>
@ -44,11 +45,22 @@ int main(int argc, char *argv[])
if (arguments.length() >= 2) {
arguments.removeFirst();
QFile luaScript(arguments.first().toString());
if (!luaScript.open(QIODevice::ReadOnly)) {
QTextStream(stderr) << "Error: Failed to open \"" << arguments.first().toString() << "\"." << endl;
return 1;
}
if (QString::fromUtf8(luaScript.read(2)) == "#!") {
luaScript.readLine();
}
else {
luaScript.reset();
}
LuaEngineGui luaEngineGui;
LuaEngineIO::pushClass(&luaEngineGui);
LuaEngineOS::pushClass(&luaEngineGui);
luaEngineGui.executeLuaScript(&luaScript);
luaEngineGui.executeLuaScript(luaScript.readAll());
if (luaEngineGui.executeLuaFunction("main", arguments, true)) {
QVariant variant = luaEngineGui.returnVariant();