aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2014-04-22 16:27:32 +0100
committerJon Skeet <skeet@pobox.com>2014-04-22 16:27:32 +0100
commitfd6c129298e1302c4a96c4d4b56b83f2dcc1838c (patch)
tree0c20ae90e03873fbd6ec84d38dd9005c32b7626b
parent566607e0d91ebac929f532f9a5ed0fffcffa2221 (diff)
downloadprotobuf-fd6c129298e1302c4a96c4d4b56b83f2dcc1838c.tar.gz
protobuf-fd6c129298e1302c4a96c4d4b56b83f2dcc1838c.tar.bz2
protobuf-fd6c129298e1302c4a96c4d4b56b83f2dcc1838c.zip
Munge protoc's error format into a VS-C#-compatible output format.
Fixes issue 86.
-rw-r--r--src/ProtoGen/ProgramPreprocess.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ProtoGen/ProgramPreprocess.cs b/src/ProtoGen/ProgramPreprocess.cs
index 110bdff0..343e1f2a 100644
--- a/src/ProtoGen/ProgramPreprocess.cs
+++ b/src/ProtoGen/ProgramPreprocess.cs
@@ -215,6 +215,11 @@ namespace Google.ProtocolBuffers.ProtoGen
tmp = process.StandardError.ReadToEnd();
if (tmp.Trim().Length > 0)
{
+ // Replace protoc output with something more amenable to Visual Studio.
+ var regexMsvs = new Regex(@"(.*)\((\d+)\).* column=(\d+)\s*:\s*(.*)");
+ tmp = regexMsvs.Replace(tmp, "$1($2,$3): error CS9999: $4");
+ var regexGcc = new Regex(@"(.*):(\d+):(\d+):\s*(.*)");
+ tmp = regexGcc.Replace(tmp, "$1($2,$3): error CS9999: $4");
Console.Error.WriteLine(tmp);
}
return process.ExitCode;