diff options
| author | gingerBill <bill@gingerbill.org> | 2020-11-17 15:13:38 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2020-11-17 15:13:38 +0000 |
| commit | a0fbc563173318821af945c76d8417cf599abdbd (patch) | |
| tree | 5575805ea4db9d5102158057654017c39fb214d6 /src/main.cpp | |
| parent | d90fc18bef8300da0fc6102d57b9e970bd7fe935 (diff) | |
Improve flags for `odin doc`
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 18 |
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) { |