コード例 #1
0
ファイル: LuaInterpreter.cs プロジェクト: gro-ove/typo4
 public Task <string> ExecuteAsync(string filename, string originalText, CancellationToken cancellation)
 {
     try {
         var state = ScriptExtension.CreateState();
         state.Globals["input"] = originalText;
         return(Task.FromResult(state.DoString(GetScript(filename).Replace(@"{INLINED_INPUT}", originalText)).CastToString()));
     } catch (Exception e) {
         TypoLogging.Write(e);
         throw;
     }
 }
コード例 #2
0
ファイル: LuaReplacer.cs プロジェクト: gro-ove/typo4
 private void Reload(string filename)
 {
     if (filename?.EndsWith(".lua", StringComparison.OrdinalIgnoreCase) == false)
     {
         return;
     }
     _lua = Directory.GetFiles(_directory, "*.lua").Select(x => {
         try {
             return(ScriptExtension.CreateState().DoString(File.ReadAllText(x), codeFriendlyName: Path.GetFileName(x)).Function);
         } catch (Exception e) {
             TypoLogging.NonFatalErrorNotify("Can’t execute script", null, e);
             return(null);
         }
     }).NonNull().ToArray();
 }