aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-03-19 16:25:09 +0000
committergingerBill <bill@gingerbill.org>2024-03-19 16:25:09 +0000
commitba428fecdb309846b9a6dc8a6a3d738f2034f2ff (patch)
tree673c55bb3338c9f7379f0e8a492bc7d4045fadf1 /src/main.cpp
parent17cc7a2c5ee8cbce8aeeff0e0952f54b681e14c7 (diff)
Add `-json-errors`
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 0f28e137f..672a9318e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -292,6 +292,7 @@ enum BuildFlagKind {
BuildFlag_WarningsAsErrors,
BuildFlag_TerseErrors,
BuildFlag_VerboseErrors,
+ BuildFlag_JsonErrors,
BuildFlag_ErrorPosStyle,
BuildFlag_MaxErrorCount,
@@ -480,6 +481,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_WarningsAsErrors, str_lit("warnings-as-errors"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_TerseErrors, str_lit("terse-errors"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_VerboseErrors, str_lit("verbose-errors"), BuildFlagParam_None, Command_all);
+ add_flag(&build_flags, BuildFlag_JsonErrors, str_lit("json-errors"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_ErrorPosStyle, str_lit("error-pos-style"), BuildFlagParam_String, Command_all);
add_flag(&build_flags, BuildFlag_MaxErrorCount, str_lit("max-error-count"), BuildFlagParam_Integer, Command_all);
@@ -1184,6 +1186,10 @@ gb_internal bool parse_build_flags(Array<String> args) {
build_context.terse_errors = false;
break;
+ case BuildFlag_JsonErrors:
+ build_context.json_errors = true;
+ break;
+
case BuildFlag_ErrorPosStyle:
GB_ASSERT(value.kind == ExactValue_String);
@@ -1984,6 +1990,10 @@ gb_internal void print_show_help(String const arg0, String const &command) {
print_usage_line(2, "Prints a terse error message without showing the code on that line and the location in that line.");
print_usage_line(0, "");
+ print_usage_line(1, "-json-errors");
+ print_usage_line(2, "Prints the error messages as json to stderr.");
+ print_usage_line(0, "");
+
print_usage_line(1, "-error-pos-style:<string>");
print_usage_line(2, "Available options:");
print_usage_line(3, "-error-pos-style:unix file/path:45:3:");