public void Execute(string keyword, string param, ILogExpertCallback callback, ILogLineColumnizer columnizer) { int start = 0; int end = 0; if (param.StartsWith("\"")) { start = 1; end = param.IndexOf("\"", start); } else { end = param.IndexOf(" "); } if (end == -1) { end = param.Length; } string procName = param.Substring(start, end - start); string parameters = param.Substring(end).Trim(); parameters = parameters.Replace("%F", callback.GetFileName()); parameters = parameters.Replace("%K", keyword); parameters = parameters.Replace("%L", "" + callback.GetLineNum()); parameters = parameters.Replace("%T", callback.GetTabTitle()); parameters = parameters.Replace("%C", callback.GetLogLine(callback.GetLineNum()).FullLine); Process explorer = new Process(); explorer.StartInfo.FileName = procName; explorer.StartInfo.Arguments = parameters; explorer.StartInfo.UseShellExecute = false; explorer.Start(); }
public void Execute(string keyword, string param, ILogExpertCallback callback, ILogLineColumnizer columnizer) { int start = 0; int end = 0; if (param.StartsWith("\"")) { start = 1; end = param.IndexOf("\"", start); } else { end = param.IndexOf(" "); } if (end == -1) end = param.Length; string procName = param.Substring(start, end - start); string parameters = param.Substring(end).Trim(); parameters = parameters.Replace("%F", callback.GetFileName()); parameters = parameters.Replace("%K", keyword); parameters = parameters.Replace("%L", "" + callback.GetLineNum()); parameters = parameters.Replace("%T", callback.GetTabTitle()); parameters = parameters.Replace("%C", callback.GetLogLine(callback.GetLineNum())); Process explorer = new Process(); explorer.StartInfo.FileName = procName; explorer.StartInfo.Arguments = parameters; explorer.StartInfo.UseShellExecute = false; explorer.Start(); }
/// <summary> /// The worker function which is called when the entry is choosen by the user. /// What we do here: Take all lines, uppercase the content, keep track of original line numbers, /// write it to a new tab. /// </summary> public void MenuSelected(IList<int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback) { List<LineEntry> lineEntryList = new List<LineEntry>(); foreach(int lineNum in logLines) { LineEntry newEntry = new LineEntry(); newEntry.logLine = callback.GetLogLine(lineNum).ToUpper(); newEntry.lineNum = lineNum; lineEntryList.Add(newEntry); } callback.AddPipedTab(lineEntryList, callback.GetTabTitle() + " (uppercased)"); }
/// <summary> /// The worker function which is called when the entry is choosen by the user. /// What we do here: Take all lines, uppercase the content, keep track of original line numbers, /// write it to a new tab. /// </summary> public void MenuSelected(IList <int> logLines, ILogLineColumnizer columnizer, ILogExpertCallback callback) { List <LineEntry> lineEntryList = new List <LineEntry>(); foreach (int lineNum in logLines) { LineEntry newEntry = new LineEntry(); newEntry.logLine = callback.GetLogLine(lineNum).ToUpper(); newEntry.lineNum = lineNum; lineEntryList.Add(newEntry); } callback.AddPipedTab(lineEntryList, callback.GetTabTitle() + " (uppercased)"); }