protected ExecResult External(string Dir, string Option, ArgumentList Args, OptRewrite[] Rewrite) { int Separator = Option.IndexOf(".exe"); if (Separator == -1) { return(new ERError($"Fail to detect .exe")); } string Exe = Option.Substring(0, Separator + 4); string ExeArgs = Option.Substring(Separator + 5); ExternalToolResult Output = ExternalExec.Exec(Exe, ExeArgs, Args, Rewrite); if (Output != null) { if (Output.ExitCode == 0) { return(new EROk()); } else { return(new ERError(Output.Result)); } } else { return(new ERError($"Fail")); } }
public string Get(ExternalToolResult R) { try { return(Check(R)); } catch (Exception E) { Log.WriteLine(E.Message); return(null); } }
protected override string Check(ExternalToolResult R) { foreach (var L in R.Lines) { if (L.IndexOf(Mask) >= 0) { return(L); } } return(null); }
private string GetMessage(ExternalToolResult Result, List <XMLResultDetector> Mask) { var T = Result.Result.Split(new char[] { '\n', '\r' }); foreach (var M in Mask) { var R = M.Get(Result); if (R != null) { return(R); } } return(null); }
private void CheckDiff() { DiffToolInfo info = new DiffToolInfo(this.TargetFile.WorkspaceFolder.Path, this.m_OutputFolder.Path); ExternalToolResult result = this.m_DiffTool.Start(info); if (result.ResultCode == ExternalToolResultCode.Failed) { //Failedの場合、詳細を確認 if (result is DiffToolResult diffResult) { //ツールが存在しなかった場合(未指定含む)、標準のFolderCompareWindowを表示 if (!diffResult.ExistTool) { this.ShowCompareWindow(); } } } }
protected override string Check(ExternalToolResult R) { foreach (var L in R.Lines) { var match = Regex.Matches(R.Result, Pattern, RegexOptions.IgnoreCase); if (match.Count > 0) { var Text = ""; foreach (Match M in match) { Text += M.Value + "\n"; } return(Text); } } return(null); }
protected virtual string Check(ExternalToolResult R) => null;
protected override string Check(ExternalToolResult R) { return((R.ExitCode != 0) ? R.Result : null); }