From a8c2df53c2bdd3bd2da99d08230e5e1607ca5bb7 Mon Sep 17 00:00:00 2001 From: Simon Kellet Date: Fri, 10 Jul 2026 22:54:51 +0100 Subject: [PATCH] added required string, removed print_usage on missing required flag --- fleg/flag.odin | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fleg/flag.odin b/fleg/flag.odin index e447a3e..11fd2c1 100644 --- a/fleg/flag.odin +++ b/fleg/flag.odin @@ -84,17 +84,20 @@ print_usage :: proc() { fmt.printfln("\t%s%s\n", FLAG_START_CHAR, FLAG_SEP_CHAR) for f in all_flags { + req_msg: string + if f.required { req_msg = " (required)"} switch v in f.value { + case ^bool: - fmt.printfln("\t%s%s:\n\t\t%s (default: %v)\n", FLAG_START_CHAR, f.name, f.usage, v^) + fmt.printfln("\t%s%s:\n\t\t%s (default: %v)%s\n", FLAG_START_CHAR, f.name, f.usage, v^, req_msg) case ^int: - fmt.printfln("\t%s%s:\n\t\t%s (default: %d)\n", FLAG_START_CHAR, f.name, f.usage, v^) + fmt.printfln("\t%s%s:\n\t\t%s (default: %d)%s\n", FLAG_START_CHAR, f.name, f.usage, v^, req_msg) case ^string: - fmt.printfln("\t%s%s:\n\t\t%s (default: %s)\n", FLAG_START_CHAR, f.name, f.usage, v^) + fmt.printfln("\t%s%s:\n\t\t%s (default: %s)%s\n", FLAG_START_CHAR, f.name, f.usage, v^, req_msg) case ^f32: - fmt.printfln("\t%s%s:\n\t\t%s (default: %f)\n", FLAG_START_CHAR, f.name, f.usage, v^) + fmt.printfln("\t%s%s:\n\t\t%s (default: %f)%s\n", FLAG_START_CHAR, f.name, f.usage, v^, req_msg) case ^f64: - fmt.printfln("\t%s%s:\n\t\t%s (default: %f)\n", FLAG_START_CHAR, f.name, f.usage, v^) + fmt.printfln("\t%s%s:\n\t\t%s (default: %f)%s\n", FLAG_START_CHAR, f.name, f.usage, v^, req_msg) } } } @@ -216,7 +219,8 @@ parse_flags :: proc() { for f in all_flags { if f.required && !f.parsed { fmt.fprintfln(os.stderr, "[ERROR] Missing required flag: %s%s", FLAG_START_CHAR, f.name) - print_usage() + fmt.fprintfln(os.stderr, "use -help or -h to view all flags") + //print_usage() os.exit(1) } }