From 3ef1ac34ee7d801053555bb74240f687241b0912 Mon Sep 17 00:00:00 2001 From: makc Date: Fri, 10 May 2013 22:47:33 +0200 Subject: [PATCH] proper source path patching --- ColtPlugin/PluginMain.cs | 27 ++++++++++++++++++++++++--- ColtPlugin/obj/Debug/ColtPlugin.dll | Bin 14336 -> 14336 bytes 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ColtPlugin/PluginMain.cs b/ColtPlugin/PluginMain.cs index 8e19a58..6d82570 100644 --- a/ColtPlugin/PluginMain.cs +++ b/ColtPlugin/PluginMain.cs @@ -293,8 +293,9 @@ private void OnTimerElapsed(object sender, EventArgs e) String message = File.ReadAllText(pathToLog); - // hack: COLT copies sources to "incremental" folder, so let's try to guess-patch correct path - String sourcePath = PluginBase.CurrentProject.SourcePaths[0]; + // COLT copies sources to "incremental" folder, so let's try to find correct path and patch the output + String incremental = "colt\\incremental"; + String[] sources = PluginBase.CurrentProject.SourcePaths; // [09.05.2013 17:26:54] Philippe Elsass: make sure you send the log line by line to the Output String[] messageLines = message.Split(new Char[] {'\r', '\n'}); @@ -302,7 +303,27 @@ private void OnTimerElapsed(object sender, EventArgs e) { // [08.05.2013 18:04:15] Philippe Elsass: you can also specify '-3' as 2nd parameter to the traces (error level) // [08.05.2013 18:05:02] Philippe Elsass: so it will appear in red in the output and have an error icon in the results panel - TraceManager.AddAsync(line.Replace("colt\\incremental", sourcePath), -3); + if (line.Contains(incremental)) + { + // carefully take the file name out + String file = line.Substring(0, line.IndexOf("): col")); + file = file.Substring(0, file.LastIndexOf("(")); + file = file.Substring(file.IndexOf(incremental) + incremental.Length + 1); + + // look for it in all source folders + for (int i = 0; i < sources.Length; i++) + { + if (File.Exists(PluginBase.CurrentProject.GetAbsolutePath(Path.Combine(sources[i], file)))) + { + TraceManager.AddAsync(line.Replace(incremental, sources[i]), -3); break; + } + } + } + else + { + // send as is + TraceManager.AddAsync(line, -3); + } } } diff --git a/ColtPlugin/obj/Debug/ColtPlugin.dll b/ColtPlugin/obj/Debug/ColtPlugin.dll index 96e426fb9e0ac98eb8cb4c300f7dd48183c10191..cfe1e7997f87a66e59c4b9511eb95c550749552d 100644 GIT binary patch delta 2174 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