in node_modules_native/node_modules_forked/node-pty/lib/windowsPtyAgent.js [100:147]
function argsToCommandLine(file, args) {
if (isCommandLine(args)) {
if (args.length === 0) {
return file;
}
return argsToCommandLine(file, []) + " " + args;
}
var argv = [file];
Array.prototype.push.apply(argv, args);
var result = '';
for (var argIndex = 0; argIndex < argv.length; argIndex++) {
if (argIndex > 0) {
result += ' ';
}
var arg = argv[argIndex];
var quote = arg.indexOf(' ') !== -1 ||
arg.indexOf('\t') !== -1 ||
arg === '';
if (quote) {
result += '\"';
}
var bsCount = 0;
for (var i = 0; i < arg.length; i++) {
var p = arg[i];
if (p === '\\') {
bsCount++;
}
else if (p === '"') {
result += repeatText('\\', bsCount * 2 + 1);
result += '"';
bsCount = 0;
}
else {
result += repeatText('\\', bsCount);
bsCount = 0;
result += p;
}
}
if (quote) {
result += repeatText('\\', bsCount * 2);
result += '\"';
}
else {
result += repeatText('\\', bsCount);
}
}
return result;
}