mirror of
https://github.com/status-im/nim-confutils.git
synced 2025-02-12 12:06:28 +00:00
Handle gracefully NimScript invocations with additional Nim settings such as --verbosity:x
This commit is contained in:
parent
533a621d4a
commit
d9e815fe67
@ -59,8 +59,15 @@ proc getFieldName(caseField: NimNode): NimNode =
|
||||
if result.kind == nnkPostfix: result = result[1]
|
||||
|
||||
when defined(nimscript):
|
||||
func scriptNameParamIdx: int =
|
||||
for i in 1 ..< paramCount():
|
||||
var param = paramStr(i)
|
||||
if param.len > 0 and param[0] != '-':
|
||||
return i
|
||||
|
||||
proc appInvocation: string =
|
||||
"nim " & (if paramCount() > 1: paramStr(1) else: "<nims-script>")
|
||||
let scriptNameIdx = scriptNameParamIdx()
|
||||
"nim " & (if paramCount() > scriptNameIdx: paramStr(scriptNameIdx) else: "<nims-script>")
|
||||
|
||||
type stderr = object
|
||||
|
||||
@ -68,7 +75,7 @@ when defined(nimscript):
|
||||
echo msg
|
||||
|
||||
proc commandLineParams(): seq[string] =
|
||||
for i in 2 .. paramCount():
|
||||
for i in scriptNameParamIdx() + 1 .. paramCount():
|
||||
result.add paramStr(i)
|
||||
|
||||
# TODO: Why isn't this available in NimScript?
|
||||
|
@ -89,8 +89,8 @@ proc next*(p: var OptParser) =
|
||||
var i = p.pos
|
||||
while i < p.cmds[p.idx].len and p.cmds[p.idx][i] in {'\t', ' '}: inc(i)
|
||||
p.pos = i
|
||||
setLen(p.key.string, 0)
|
||||
setLen(p.val.string, 0)
|
||||
setLen(p.key, 0)
|
||||
setLen(p.val, 0)
|
||||
if p.inShortState:
|
||||
p.inShortState = false
|
||||
if i >= p.cmds[p.idx].len:
|
||||
|
Loading…
x
Reference in New Issue
Block a user