diff --git a/un.cpp b/un.cpp index 0b8a5cf..04dae73 100644 --- a/un.cpp +++ b/un.cpp @@ -689,7 +689,11 @@ int main(int argc, char* argv[]) { else if (arg == "-n" && i+1 < argc) network = argv[++i]; else if (arg == "-v" && i+1 < argc) vcpu = stoi(argv[++i]); else if (arg == "-k" && i+1 < argc) public_key = argv[++i]; - else if (arg[0] != '-') source_file = arg; + else if (arg[0] == '-') { + cerr << RED << "Unknown option: " << arg << RESET << endl; + return 1; + } + else source_file = arg; } if (source_file.empty()) { diff --git a/un.cr b/un.cr index a49a75b..885c08e 100644 --- a/un.cr +++ b/un.cr @@ -615,7 +615,12 @@ def main when "key" args[:command] = "key" else - args[:source_file] = before[0] + if before[0].starts_with?("-") + STDERR.puts "#{RED}Unknown option: #{before[0]}#{RESET}" + exit 1 + else + args[:source_file] = before[0] + end end end end diff --git a/un.d b/un.d index da20c99..7031f42 100644 --- a/un.d +++ b/un.d @@ -617,7 +617,11 @@ int main(string[] args) { else if (args[i] == "-n" && i+1 < args.length) network = args[++i]; else if (args[i] == "-v" && i+1 < args.length) vcpu = to!int(args[++i]); else if (args[i] == "-k" && i+1 < args.length) publicKey = args[++i]; - else if (!args[i].startsWith("-")) sourceFile = args[i]; + else if (args[i].startsWith("-")) { + stderr.writefln("%sUnknown option: %s%s", RED, args[i], RESET); + return 1; + } + else sourceFile = args[i]; } if (sourceFile.empty) { diff --git a/un.dart b/un.dart index e619cce..ddb8739 100644 --- a/un.dart +++ b/un.dart @@ -656,7 +656,10 @@ Args parseArgs(List argv) { args.keyExtend = true; break; default: - if (!argv[i].startsWith('-')) { + if (argv[i].startsWith('-')) { + stderr.writeln('${RED}Unknown option: ${argv[i]}${RESET}'); + exit(1); + } else { args.sourceFile = argv[i]; } } diff --git a/un.groovy b/un.groovy index 1487c47..cfc4c99 100644 --- a/un.groovy +++ b/un.groovy @@ -711,7 +711,10 @@ def parseArgs(argv) { args.keyExtend = true break default: - if (!argv[i].startsWith('-')) { + if (argv[i].startsWith('-')) { + System.err.println("${RED}Unknown option: ${argv[i]}${RESET}") + System.exit(1) + } else { args.sourceFile = argv[i] } } diff --git a/un.hs b/un.hs index c97a45f..b689e29 100644 --- a/un.hs +++ b/un.hs @@ -227,7 +227,10 @@ parseExecute args = | "-o" `isPrefixOf` arg = parseExecArgs rest opts { exOutDir = Just (head rest) } | "-n" `isPrefixOf` arg = parseExecArgs rest opts { exNetwork = Just (head rest) } | "-v" `isPrefixOf` arg = parseExecArgs rest opts { exVcpu = Just (read (head rest)) } - | not ("-" `isPrefixOf` arg) && null (exFile opts) = parseExecArgs rest opts { exFile = arg } + | "-" `isPrefixOf` arg = do + hPutStrLn stderr $ red ++ "Unknown option: " ++ arg ++ reset + exitFailure + | null (exFile opts) = parseExecArgs rest opts { exFile = arg } | otherwise = parseExecArgs rest opts parseEnv (kv:rest) = let (k, v) = span (/= '=') kv diff --git a/un.kt b/un.kt index b022a13..607af87 100644 --- a/un.kt +++ b/un.kt @@ -748,7 +748,14 @@ fun parseArgs(args: Array): Args { "--dump-bootstrap" -> result.serviceDumpBootstrap = args[++i] "--dump-file" -> result.serviceDumpFile = args[++i] "--extend" -> result.keyExtend = true - else -> if (!args[i].startsWith("-")) result.sourceFile = args[i] + else -> { + if (args[i].startsWith("-")) { + System.err.println("${RED}Unknown option: ${args[i]}${RESET}") + kotlin.system.exitProcess(1) + } else { + result.sourceFile = args[i] + } + } } i++ } diff --git a/un.lua b/un.lua index 3acd1c4..3cb4c0e 100644 --- a/un.lua +++ b/un.lua @@ -764,7 +764,10 @@ local function main() options.dump_file = arg[i] elseif a == "--extend" then options.extend = true - elseif not a:match("^%-") then + elseif a:match("^%-") then + io.stderr:write(RED .. "Unknown option: " .. a .. RESET .. "\n") + os.exit(1) + else options.source_file = a end diff --git a/un.m b/un.m index 659518e..83dce34 100644 --- a/un.m +++ b/un.m @@ -232,6 +232,9 @@ void cmdExecute(NSArray* args) { network = args[++i]; } else if ([arg isEqualToString:@"-v"] && i + 1 < [args count]) { vcpu = [args[++i] intValue]; + } else if ([arg hasPrefix:@"-"]) { + fprintf(stderr, "%sUnknown option: %s%s\n", RED, [arg UTF8String], RESET); + exit(1); } else { sourceFile = arg; } diff --git a/un.nim b/un.nim index dafe71a..f92a325 100644 --- a/un.nim +++ b/un.nim @@ -521,7 +521,10 @@ proc main() = of "-v": vcpu = parseInt(args[i+1]); inc i of "-k": publicKey = args[i+1]; inc i else: - if not args[i].startsWith("-"): + if args[i].startsWith("-"): + stderr.writeLine(RED & "Unknown option: " & args[i] & RESET) + quit(1) + else: sourceFile = args[i] inc i diff --git a/un.php b/un.php index 840c8e9..2626c3a 100755 --- a/un.php +++ b/un.php @@ -722,7 +722,10 @@ function main() { $options['extend'] = true; break; default: - if (!str_starts_with($arg, '-')) { + if (str_starts_with($arg, '-')) { + fwrite(STDERR, RED . "Unknown option: $arg" . RESET . "\n"); + exit(1); + } else { $options['source_file'] = $arg; } break; diff --git a/un.pl b/un.pl index e8d77ef..7b7e13b 100644 --- a/un.pl +++ b/un.pl @@ -643,7 +643,10 @@ sub main { $options{dump_file} = $ARGV[++$i]; } elsif ($arg eq '--extend') { $options{extend} = 1; - } elsif ($arg !~ /^-/) { + } elsif ($arg =~ /^-/) { + print STDERR "${RED}Unknown option: $arg${RESET}\n"; + exit 1; + } else { $options{source_file} = $arg; } } diff --git a/un.ps1 b/un.ps1 index 3538602..53050cc 100644 --- a/un.ps1 +++ b/un.ps1 @@ -486,7 +486,10 @@ if ($args[0] -eq "session") { } "-n" { $network = $args[$i+1]; $i++ } default { - if (-not $args[$i].StartsWith("-")) { + if ($args[$i].StartsWith("-")) { + Write-Error "${RED}Unknown option: $($args[$i])${RESET}" + exit 1 + } else { $sourceFile = $args[$i] } } diff --git a/un.raku b/un.raku index cd2082c..d4f41e6 100644 --- a/un.raku +++ b/un.raku @@ -201,7 +201,12 @@ sub cmd-execute(@args) { $vcpu = @args[$i].Int; } default { - $source-file = @args[$i]; + if @args[$i].starts-with('-') { + note "$RED\Unknown option: {@args[$i]}$RESET"; + exit 1; + } else { + $source-file = @args[$i]; + } } } $i++; diff --git a/un.rb b/un.rb index 048656c..461490b 100644 --- a/un.rb +++ b/un.rb @@ -643,7 +643,12 @@ def main when '--extend' options[:extend] = true else - options[:source_file] = arg unless arg.start_with?('-') + if arg.start_with?('-') + warn "#{RED}Unknown option: #{arg}#{RESET}" + exit 1 + else + options[:source_file] = arg + end end i += 1 diff --git a/un.rs b/un.rs index f7830ba..57031a7 100644 --- a/un.rs +++ b/un.rs @@ -825,7 +825,10 @@ fn main() { return; } _ => { - if !args[i].starts_with('-') { + if args[i].starts_with('-') { + eprintln!("{}Unknown option: {}{}", RED, args[i], RESET); + std::process::exit(1); + } else { source_file = Some(args[i].clone()); } } diff --git a/un.sh b/un.sh index 8d20caa..169bd6d 100755 --- a/un.sh +++ b/un.sh @@ -247,6 +247,10 @@ cmd_execute() { api_key="$2" shift 2 ;; + -*) + echo -e "${RED}Unknown option: $1${RESET}" >&2 + exit 1 + ;; *) source_file="$1" shift @@ -391,6 +395,10 @@ cmd_session() { api_key="$2" shift 2 ;; + -*) + echo -e "${RED}Unknown option: $1${RESET}" >&2 + exit 1 + ;; *) shift ;; @@ -562,6 +570,10 @@ cmd_service() { api_key="$2" shift 2 ;; + -*) + echo -e "${RED}Unknown option: $1${RESET}" >&2 + exit 1 + ;; *) shift ;; @@ -850,6 +862,10 @@ cmd_key() { extend=true shift ;; + -*) + echo -e "${RED}Unknown option: $1${RESET}" >&2 + exit 1 + ;; *) shift ;; diff --git a/un.v b/un.v index 08bfe91..23e7bff 100644 --- a/un.v +++ b/un.v @@ -698,7 +698,10 @@ fn main() { api_key = os.args[i] } else { - if !os.args[i].starts_with('-') { + if os.args[i].starts_with('-') { + eprintln('${red}Unknown option: ${os.args[i]}${reset}') + exit(1) + } else { source_file = os.args[i] } } diff --git a/un.zig b/un.zig index ed9e93c..b67e73f 100644 --- a/un.zig +++ b/un.zig @@ -621,7 +621,11 @@ pub fn main() !u8 { // Execute mode - find source file var source_file: ?[]const u8 = null; for (args[1..]) |arg| { - if (!mem.startsWith(u8, arg, "-")) { + if (mem.startsWith(u8, arg, "-")) { + const stderr = std.io.getStdErr().writer(); + stderr.print("{s}Unknown option: {s}{s}\n", .{ RED, arg, RESET }) catch {}; + std.os.exit(1); + } else { source_file = arg; break; }