Add custom console and allow runtimes to set the config dir

This commit is contained in:
2025-08-21 08:18:29 -05:00
parent 52218d6c2d
commit 05713fc39c
10 changed files with 49 additions and 6 deletions

View File

@@ -387,15 +387,19 @@ namespace Tesses::CrossLang
});
dict->DeclareFunction(gc, "getRootEnvironment","Get root environment, for reflection purposes",{},[env](GCList& ls2,std::vector<TObject> args)->TObject {return env;});
dict->DeclareFunction(gc, "getCurrentEnvironment","Get current environment, for reflection purposes",{},VM_getCurrentEnvironment);
dict->DeclareFunction(gc, "CreateEnvironment","Create root environment",{"$dict"},[](GCList& ls,std::vector<TObject> args)->TObject{
dict->DeclareFunction(gc, "CreateEnvironment","Create root environment",{"$dict"},[env](GCList& ls,std::vector<TObject> args)->TObject{
TDictionary* dict;
if(GetArgumentHeap(args,0,dict))
{
return TRootEnvironment::Create(ls,dict);
auto renv = TRootEnvironment::Create(ls,dict);
renv->permissions.customConsole = env->permissions.customConsole;
return renv;
}
else
{
return TRootEnvironment::Create(ls,TDictionary::Create(ls));
auto renv = TRootEnvironment::Create(ls,TDictionary::Create(ls));
renv->permissions.customConsole = env->permissions.customConsole;
return renv;
}
});
dict->DeclareFunction(gc, "LoadExecutable", "Load a crossvm executable",{"stream"},[](GCList& ls,std::vector<TObject> args)->TObject{