aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp
index d6dc3f9b8..2c7736762 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -599,6 +599,8 @@ enum BuildFlagKind {
BuildFlag_GoToDefinitions,
BuildFlag_Package,
+ BuildFlag_All,
+ BuildFlag_AllPackages,
#if defined(GB_SYSTEM_WINDOWS)
BuildFlag_IgnoreVsSearch,
@@ -706,7 +708,9 @@ bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_GlobalDefinitions, str_lit("global-definitions"), BuildFlagParam_None, Command_query);
add_flag(&build_flags, BuildFlag_GoToDefinitions, str_lit("go-to-definitions"), BuildFlagParam_None, Command_query);
- add_flag(&build_flags, BuildFlag_Package, str_lit("package"), BuildFlagParam_String, Command_doc, true);
+ add_flag(&build_flags, BuildFlag_Package, str_lit("package"), BuildFlagParam_String, Command_doc, true);
+ add_flag(&build_flags, BuildFlag_All, str_lit("all"), BuildFlagParam_None, Command_doc);
+ add_flag(&build_flags, BuildFlag_AllPackages, str_lit("all-packages"), BuildFlagParam_None, Command_doc);
#if defined(GB_SYSTEM_WINDOWS)
@@ -1204,6 +1208,13 @@ bool parse_build_flags(Array<String> args) {
array_add(&build_context.doc_packages, value.value_string);
}
break;
+ case BuildFlag_All:
+ build_context.cmd_doc_flags |= CmdDocFlag_All;
+ break;
+ case BuildFlag_AllPackages:
+ build_context.cmd_doc_flags |= CmdDocFlag_AllPackages;
+ break;
+
#if defined(GB_SYSTEM_WINDOWS)
case BuildFlag_IgnoreVsSearch:
@@ -1297,6 +1308,11 @@ bool parse_build_flags(Array<String> args) {
}
}
+ if (build_context.doc_packages.count > 0 && set_flags[BuildFlag_AllPackages]) {
+ gb_printf_err("'odin doc' does not allow both flags together '-all-packages' and '-package' together");;
+ bad_flags = true;
+ }
+
if (build_context.query_data_set_settings.ok) {
if (build_context.query_data_set_settings.kind == QueryDataSet_Invalid) {