From 9564e7069b2d11c8ad54a07e5676cc952c711114 Mon Sep 17 00:00:00 2001 From: Keita Haga Date: Sun, 16 Dec 2012 05:30:57 +0900 Subject: [PATCH] Better CLI error message when options are invalid --- compiler/commands.nim | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/compiler/commands.nim b/compiler/commands.nim index 4b9a47d377..cd12728eac 100755 --- a/compiler/commands.nim +++ b/compiler/commands.nim @@ -64,8 +64,13 @@ proc writeCommandLineUsage() = MsgWriteln(getCommandLineDesc()) helpWritten = true +proc addPrefix(switch: string): string = + if len(switch) == 1: result = "-" & switch + else: result = "--" & switch + proc InvalidCmdLineOption(pass: TCmdLinePass, switch: string, info: TLineInfo) = - LocalError(info, errInvalidCmdLineOption, switch) + if switch == " ": LocalError(info, errInvalidCmdLineOption, "-") + else: LocalError(info, errInvalidCmdLineOption, addPrefix(switch)) proc splitSwitch(switch: string, cmd, arg: var string, pass: TCmdLinePass, info: TLineInfo) = @@ -97,10 +102,10 @@ proc ProcessOnOffSwitchG(op: TGlobalOptions, arg: string, pass: TCmdlinePass, else: LocalError(info, errOnOrOffExpectedButXFound, arg) proc ExpectArg(switch, arg: string, pass: TCmdLinePass, info: TLineInfo) = - if arg == "": LocalError(info, errCmdLineArgExpected, switch) + if arg == "": LocalError(info, errCmdLineArgExpected, addPrefix(switch)) proc ExpectNoArg(switch, arg: string, pass: TCmdLinePass, info: TLineInfo) = - if arg != "": LocalError(info, errCmdLineNoArgExpected, switch) + if arg != "": LocalError(info, errCmdLineNoArgExpected, addPrefix(switch)) proc ProcessSpecificNote(arg: string, state: TSpecialWord, pass: TCmdlinePass, info: TLineInfo) =