提交 4bd3a777 作者: Matt Bell 提交者: Juan Batiz-Benet

commands/cli: Added path/args parsing

上级 b3eecf4f
......@@ -13,7 +13,12 @@ func Parse(input []string, root *commands.Command) ([]string, []string, map[stri
return nil, nil, nil, err
}
return nil, nil, opts, nil
path, args, err := path(input, root)
if err != nil {
return nil, nil, nil, err
}
return path, args, opts, nil
}
// options parses the raw string values of the given options
......@@ -90,3 +95,21 @@ func options(input []string, root *commands.Command) (map[string]string, []strin
return opts, cleanInput, nil
}
// path takes the command line (without options) and splits it into the command path and arguments
func path(input []string, root *commands.Command) ([]string, []string, error) {
cmd := root
i := 0
for _, blob := range input {
cmd := cmd.Sub(blob)
if cmd == nil {
break
}
i++
}
return input[:i], input[i:], nil
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论