From 6b05ecab5bbdac72d1c94e32052c8053fa55fd7c Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Tue, 14 Jun 2016 09:39:48 -0700 Subject: [PATCH] Fix bug: do unescaping in the right place, so that it only affects escaped javascript identifiers --- src/services/services.ts | 4 ++-- tests/cases/fourslash/codeCompletionEscaping.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index d5f63627471..70cc7e2e08d 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3234,7 +3234,7 @@ namespace ts { } } - return unescapeIdentifier(name); + return name; } function getCompletionData(fileName: string, position: number) { @@ -4141,7 +4141,7 @@ namespace ts { if (!uniqueNames[name]) { uniqueNames[name] = name; - const displayName = getCompletionEntryDisplayName(name, target, /*performCharacterChecks*/ true); + const displayName = getCompletionEntryDisplayName(unescapeIdentifier(name), target, /*performCharacterChecks*/ true); if (displayName) { const entry = { name: displayName, diff --git a/tests/cases/fourslash/codeCompletionEscaping.ts b/tests/cases/fourslash/codeCompletionEscaping.ts index b8182307b7b..5061a87e5b6 100644 --- a/tests/cases/fourslash/codeCompletionEscaping.ts +++ b/tests/cases/fourslash/codeCompletionEscaping.ts @@ -2,7 +2,8 @@ // @Filename: a.js // @allowJs: true -////__foo;/**/ +////___foo; __foo;/**/ goTo.marker(); verify.completionListContains("__foo", undefined, undefined, "warning"); +verify.completionListContains("___foo", undefined, undefined, "warning");