mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-10 05:38:10 +00:00
* fix #6608 * minor * fix * clean tests * make testamnet happy * again * minor * fix #13086
This commit is contained in:
@@ -280,8 +280,8 @@ proc handleShortOption(p: var OptParser; cmd: string) =
|
||||
while i < cmd.len and cmd[i] in {'\t', ' '}:
|
||||
inc(i)
|
||||
p.inShortState = false
|
||||
if i < cmd.len and cmd[i] in {':', '='} or
|
||||
card(p.shortNoVal) > 0 and p.key.string[0] notin p.shortNoVal:
|
||||
if i < cmd.len and (cmd[i] in {':', '='} or
|
||||
card(p.shortNoVal) > 0 and p.key.string[0] notin p.shortNoVal):
|
||||
if i < cmd.len and cmd[i] in {':', '='}:
|
||||
inc(i)
|
||||
p.inShortState = false
|
||||
|
||||
@@ -22,6 +22,15 @@ kind: cmdShortOption key:val -- r:0
|
||||
kind: cmdShortOption key:val -- l:
|
||||
kind: cmdShortOption key:val -- r:4
|
||||
kind: cmdLongOption key:val -- debug:
|
||||
cmdShortOption key: v value: ''
|
||||
cmdArgument key: ABC value: ''
|
||||
cmdShortOption key: v value: 'ABC'
|
||||
cmdShortOption key: v value: ''
|
||||
cmdArgument key: ABC value: ''
|
||||
cmdShortOption key: v value: ''
|
||||
cmdArgument key: ABC value: ''
|
||||
cmdShortOption key: j value: '4'
|
||||
cmdArgument key: ok value: ''
|
||||
'''
|
||||
joinable: false
|
||||
"""
|
||||
@@ -121,3 +130,27 @@ arg 3 ai.len:4 :{a4"b}
|
||||
arg 4 ai.len:4 :{a5'b}
|
||||
arg 5 ai.len:4 :{a6\b}
|
||||
arg 6 ai.len:4 :{a7'b}"""
|
||||
|
||||
|
||||
|
||||
block:
|
||||
let args = @["-v", "ABC"]
|
||||
var p = parseopt.initOptParser(args, shortnoVal = {'n'}, longnoVal = @["novalue"])
|
||||
for kind, key, val in parseopt.getopt(p):
|
||||
echo kind," key: ", key, " value: '", val, "'"
|
||||
|
||||
var r = parseopt.initOptParser(@["-v ABC"], shortnoVal = {'n'}, longnoVal = @["novalue"])
|
||||
for kind, key, val in parseopt.getopt(r):
|
||||
echo kind," key: ", key, " value: '", val, "'"
|
||||
|
||||
var s = parseopt.initOptParser("-v ABC", shortnoVal = {'v'}, longnoVal = @["novalue"])
|
||||
for kind, key, val in parseopt.getopt(s):
|
||||
echo kind," key: ", key, " value: '", val, "'"
|
||||
|
||||
var m = parseopt.initOptParser("-v ABC", shortnoVal = {'n'}, longnoVal = @["novalue"])
|
||||
for kind, key, val in parseopt.getopt(m):
|
||||
echo kind," key: ", key, " value: '", val, "'"
|
||||
|
||||
var n = parseopt.initOptParser("-j4 ok", shortnoVal = {'n'}, longnoVal = @["novalue"])
|
||||
for kind, key, val in parseopt.getopt(n):
|
||||
echo kind," key: ", key, " value: '", val, "'"
|
||||
|
||||
Reference in New Issue
Block a user