public void openSourceCodeEditor() { var sourceCodeEditor = O2Gui.open <Panel>("Source Code Editor", 600, 400).add_SourceCodeEditor(); var defaultSourceCode = CompileEngine.findScriptOnLocalScriptFolder("Hello_O2_World.cs").fileContents(); sourceCodeEditor.open(defaultSourceCode.saveWithExtension(".cs")); }
public void resolveFileLocationsOfExtraSourceCodeFilesToCompile() { if (ExtraSourceCodeFilesToCompile.size() > 0) { //List<string> o2LocalScriptFiles = null; // try to resolve local file references try { //var currentScriptFolder = PublicDI.CurrentScript.directoryName(); if (this.SourceCodeFile.isNull()) // in case this is not set { SourceCodeFile = PublicDI.CurrentScript; } for (int i = 0; i < ExtraSourceCodeFilesToCompile.size(); i++) { var fileToResolve = ExtraSourceCodeFilesToCompile[i].trim(); //handle the File:xxx:Ref:xxx case if (CompileEngine.isFileAReferenceARequestToUseThePrevioulsyCompiledVersion(fileToResolve, ReferencedAssemblies)) { ExtraSourceCodeFilesToCompile[i] = ""; } else { var resolved = false; // try using SourceCodeFile.directoryName() if (fileToResolve.fileExists().isFalse()) { if (SourceCodeFile.valid()) { var resolvedFile = SourceCodeFile.directoryName().pathCombine(fileToResolve); if (resolvedFile.fileExists()) { ExtraSourceCodeFilesToCompile[i] = resolvedFile; resolved = true; } } } // try using the localscripts folders if (resolved.isFalse() && fileToResolve.fileExists().isFalse()) { var mappedFile = CompileEngine.findScriptOnLocalScriptFolder(fileToResolve); if (mappedFile.valid()) { ExtraSourceCodeFilesToCompile[i] = mappedFile; } } } } //add extra _ExtensionMethods.cs if avaiable for (int i = 0; i < ExtraSourceCodeFilesToCompile.size(); i++) { var extensionMethod = ExtraSourceCodeFilesToCompile[i].replace(".cs", "_ExtensionMethods.cs"); if (extensionMethod.fileExists() && ExtraSourceCodeFilesToCompile.contains(extensionMethod).isFalse()) { if (this.SourceCodeFile != extensionMethod) { ExtraSourceCodeFilesToCompile.Add(extensionMethod); } } } } catch (Exception ex) { ex.log("in compileExtraSourceCodeReferencesAndUpdateReferencedAssemblies while resolving ExtraSourceCodeFilesToCompile"); } } }