1 // take an un-split argv string and tokenize it.
2 module.exports = function (argString) {
3 if (Array.isArray(argString)) return argString
5 argString = argString.trim()
13 for (var ii = 0; ii < argString.length; ii++) {
15 c = argString.charAt(ii)
17 // split on spaces unless we're in quotes.
18 if (c === ' ' && !opening) {
19 if (!(prevC === ' ')) {
25 // don't split the string if we're in matching
26 // opening or closing single and double quotes.
30 } else if ((c === "'" || c === '"') && !opening) {
35 if (!args[i]) args[i] = ''