aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-04-22 18:41:48 +0100
committergingerBill <bill@gingerbill.org>2024-04-22 18:41:48 +0100
commitc6a446fe87b818ef7d34131babe074080cdc4575 (patch)
tree260434b5607f74924d8e912f741fc1d11609cc1e /src
parentea49331799b12d0a8e59b33c5abdfbc0d7802e41 (diff)
Add check for `build.` and `run.` typos
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 53103ce3a..8a1f4852e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -198,7 +198,12 @@ gb_internal void print_usage_line(i32 indent, char const *fmt, ...) {
gb_printf("\n");
}
-gb_internal void usage(String argv0) {
+gb_internal void usage(String argv0, String argv1 = {}) {
+ if (argv1 == "run.") {
+ print_usage_line(0, "Did you mean 'odin run .'?");
+ } else if (argv1 == "build.") {
+ print_usage_line(0, "Did you mean 'odin build .'?");
+ }
print_usage_line(0, "%.*s is a tool for managing Odin source code.", LIT(argv0));
print_usage_line(0, "Usage:");
print_usage_line(1, "%.*s command [arguments]", LIT(argv0));
@@ -2586,7 +2591,11 @@ int main(int arg_count, char const **arg_ptr) {
gb_printf("%.*s", LIT(odin_root_dir()));
return 0;
} else {
- usage(args[0]);
+ String argv1 = {};
+ if (args.count > 1) {
+ argv1 = args[1];
+ }
+ usage(args[0], argv1);
return 1;
}