From cc58e2d7eb144f0b2ff89e6a6685fb4deaa24fde Mon Sep 17 00:00:00 2001 From: zhengbli Date: Tue, 19 Apr 2016 15:17:36 -0700 Subject: [PATCH] Use string literal type for script kind names --- src/harness/harnessLanguageService.ts | 2 +- src/server/client.ts | 2 +- src/server/protocol.d.ts | 4 ++-- src/server/session.ts | 8 ++++---- tests/cases/fourslash/server/openFileWithSyntaxKind.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index d74c2fdeb8e..8f1b0493a85 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -496,7 +496,7 @@ namespace Harness.LanguageService { this.client = client; } - openFile(fileName: string, content?: string, scriptKindName?: string): void { + openFile(fileName: string, content?: string, scriptKindName?: "TS" | "JS" | "TSX" | "JSX"): void { super.openFile(fileName, content, scriptKindName); this.client.openFile(fileName, content, scriptKindName); } diff --git a/src/server/client.ts b/src/server/client.ts index 35fb0b11fbe..bd5abbcfd77 100644 --- a/src/server/client.ts +++ b/src/server/client.ts @@ -120,7 +120,7 @@ namespace ts.server { return response; } - openFile(fileName: string, content?: string, scriptKindName?: string): void { + openFile(fileName: string, content?: string, scriptKindName?: "TS" | "JS" | "TSX" | "JSX"): void { var args: protocol.OpenRequestArgs = { file: fileName, fileContent: content, scriptKindName }; this.processRequest(CommandNames.Open, args); } diff --git a/src/server/protocol.d.ts b/src/server/protocol.d.ts index d6ff438a1c0..10cebb2ddb7 100644 --- a/src/server/protocol.d.ts +++ b/src/server/protocol.d.ts @@ -520,9 +520,9 @@ declare namespace ts.server.protocol { fileContent?: string; /** * Used to specify the script kind of the file explicitly. It could be one of the following: - * ".ts", ".js", ".tsx", ".jsx" + * "TS", "JS", "TSX", "JSX" */ - scriptKindName?: string; + scriptKindName?: "TS" | "JS" | "TSX" | "JSX"; } /** diff --git a/src/server/session.ts b/src/server/session.ts index 6dd74e8985b..6fe8ed7b075 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -969,16 +969,16 @@ namespace ts.server { const openArgs = request.arguments; let scriptKind: ScriptKind; switch (openArgs.scriptKindName) { - case ".ts": + case "TS": scriptKind = ScriptKind.TS; break; - case ".js": + case "JS": scriptKind = ScriptKind.JS; break; - case ".tsx": + case "TSX": scriptKind = ScriptKind.TSX; break; - case ".jsx": + case "JSX": scriptKind = ScriptKind.JSX; break; } diff --git a/tests/cases/fourslash/server/openFileWithSyntaxKind.ts b/tests/cases/fourslash/server/openFileWithSyntaxKind.ts index 006e5490b6f..dcb1e54999e 100644 --- a/tests/cases/fourslash/server/openFileWithSyntaxKind.ts +++ b/tests/cases/fourslash/server/openFileWithSyntaxKind.ts @@ -14,6 +14,6 @@ //// var t; //// t. -goTo.file("test.ts", /*content*/ undefined, ".js"); +goTo.file("test.ts", /*content*/ undefined, "JS"); goTo.eof(); verify.completionListContains("toExponential");