This commit is contained in:
Araq
2019-05-24 09:43:04 +02:00
parent 39a3dbb16b
commit cacd6d1070
2 changed files with 7 additions and 4 deletions

View File

@@ -106,7 +106,7 @@ proc writeCommandLineUsage*(conf: ConfigRef) =
msgWriteln(conf, getCommandLineDesc(conf), {msgStdout})
proc addPrefix(switch: string): string =
if len(switch) == 1: result = "-" & switch
if len(switch) <= 1: result = "-" & switch
else: result = "--" & switch
const
@@ -770,6 +770,8 @@ proc processSwitch*(switch, arg: string, pass: TCmdLinePass, info: TLineInfo;
processOnOffSwitchG(conf, {optDocInternal}, arg, pass, info)
of "multimethods":
processOnOffSwitchG(conf, {optMultiMethods}, arg, pass, info)
of "":
conf.projectName = "-"
else:
if strutils.find(switch, '.') >= 0: options.setConfigVar(conf, switch, arg)
else: invalidCmdLineOption(conf, pass, switch, info)

View File

@@ -274,8 +274,9 @@ when declared(os.paramCount):
proc handleShortOption(p: var OptParser; cmd: string) =
var i = p.pos
p.kind = cmdShortOption
add(p.key.string, cmd[i])
inc(i)
if i < cmd.len:
add(p.key.string, cmd[i])
inc(i)
p.inShortState = true
while i < cmd.len and cmd[i] in {'\t', ' '}:
inc(i)
@@ -446,7 +447,7 @@ when declared(initOptParser):
tuple[kind: CmdLineKind, key, val: TaintedString] =
## Convenience iterator for iterating over command line arguments.
##
## This creates a new `OptParser<#OptParser>`_. If no command line
## This creates a new `OptParser<#OptParser>`_. If no command line
## arguments are provided, the real command line as provided by the
## ``os`` module is retrieved instead.
##