execute function
Implementation
Future<int> execute(String command) async {
const rootLibrary = 'package:koli/koli.dart';
final uri = await Isolate.resolvePackageUri(Uri.parse(rootLibrary));
if (uri == null) {
exit(1);
}
final root = path.fromUri(uri.resolve('native').path);
// Open the dynamic library
late String libraryPath;
if (Platform.isMacOS) {
libraryPath = path.join(root, 'libkoli.dylib');
} else if (Platform.isWindows) {
libraryPath = path.join(root, 'koli.dll');
} else {
libraryPath = path.join(root, 'libkoli.so');
}
final dylib = DynamicLibrary.open(libraryPath);
final execute = dylib.lookupFunction<ExecuteNative, Execute>('execute');
final code = execute(command.toNativeUtf8());
return code;
}