From 36cdb52b17784ce4313b59c14b37bfef6adb57ca Mon Sep 17 00:00:00 2001 From: uniqueiniquity Date: Mon, 2 Apr 2018 16:41:29 -0700 Subject: [PATCH] Handle double quotes for every argument --- src/server/server.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/server/server.ts b/src/server/server.ts index 24c1fc732f0..2e30fd51340 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -594,13 +594,12 @@ namespace ts.server { const len = args.length - 1; for (let i = 0; i < len; i += 2) { const option = args[i]; - const value = args[i + 1]; + const { value, extraPartCounter } = getEntireValue(i + 1); + i += extraPartCounter; if (option && value) { switch (option) { case "-file": - const { logPath, extraPartCounter } = getLogPath(i + 1); - logEnv.file = logPath; - i += extraPartCounter; + logEnv.file = value; break; case "-level": const level = getLogLevel(value); @@ -617,7 +616,7 @@ namespace ts.server { } return logEnv; - function getLogPath(initialIndex: number) { + function getEntireValue(initialIndex: number) { let pathStart = args[initialIndex]; let extraPartCounter = 0; if (pathStart.charCodeAt(0) === CharacterCodes.doubleQuote && @@ -629,7 +628,7 @@ namespace ts.server { if (pathStart.charCodeAt(pathStart.length - 1) === CharacterCodes.doubleQuote) break; } } - return { logPath: stripQuotes(pathStart), extraPartCounter }; + return { value: stripQuotes(pathStart), extraPartCounter }; } }