/^ Get the name and description from executable ^/
func Tesses.CrossLang.GetNameAndDescription(name)
{
    var strm = FS.Local.OpenFile(name,"rb");
    var file = VM.LoadExecutable(strm);
    
    strm.Close();

    var name = file.Name;
    
    var j = Json.Decode(file.Info);
    var description = TypeOf(j.description) == "String" ? j.description : "";

    name = TypeOf(j.short_name) == "String" ? j.short_name : name;
   
    
    return $"{name}: {description}";
}
/^ Get the name and description from executable (as json object) ^/
func Tesses.CrossLang.GetNameAndDescriptionJson(name)
{
    var strm = FS.Local.OpenFile(name,"rb");
    var file = VM.LoadExecutable(strm);
    
    strm.Close();

    var name = file.Name;
    
    var j = Json.Decode(file.Info);
    var description = TypeOf(j.description) == "String" ? j.description : "";

    
        name = TypeOf(j.short_name) == "String" ? j.short_name : name;
    
    return {
        name,
        description
    };
}