handleLuaInit method

Future<void> handleLuaInit()

Handle LUA_INIT environment variable

Implementation

Future<void> handleLuaInit() async {
  final luaInit = Platform.environment['LUA_INIT'];
  if (luaInit != null && luaInit.isNotEmpty) {
    if (luaInit.startsWith('@')) {
      // Execute file
      final filename = luaInit.substring(1);
      try {
        final sourceCode = await File(
          filename,
        ).readAsBytes().then((bytes) => utf8.decode(bytes));
        await bridge.execute(sourceCode, scriptPath: filename);
      } catch (e) {
        safePrint('Error in LUA_INIT file: $e');
        exit(1);
      }
    } else {
      // Execute string
      try {
        await bridge.execute(luaInit);
      } catch (e) {
        safePrint('Error in LUA_INIT: $e');
        exit(1);
      }
    }
  }
}