Commit db8a7e28 authored by Matt Bell's avatar Matt Bell Committed by Juan Batiz-Benet

commands/cli: Added path/args parsing

parent 6094743a
......@@ -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 is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment