From 2c25bea0aaec64e17e12b0c11f456a821abb3064 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 2 Feb 2016 13:10:30 -0800 Subject: [PATCH 1/2] Always show file tokens in JS completion lists Fixes #6654 --- src/services/services.ts | 2 +- .../fourslash/getJavaScriptGlobalCompletions1.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts diff --git a/src/services/services.ts b/src/services/services.ts index 85b2bfb58e8..1204b63c9fb 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3834,7 +3834,7 @@ namespace ts { const entries: CompletionEntry[] = []; - if (isRightOfDot && isSourceFileJavaScript(sourceFile)) { + if (isSourceFileJavaScript(sourceFile)) { const uniqueNames = getCompletionEntriesFromSymbols(symbols, entries); addRange(entries, getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames)); } diff --git a/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts b/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts new file mode 100644 index 00000000000..240df24bf52 --- /dev/null +++ b/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts @@ -0,0 +1,15 @@ +/// + +// @allowNonTsExtensions: true +// @Filename: Foo.js +//// function f() { +//// // helloWorld leaks from here into the global space? +//// if (helloWorld) { +//// return 3; +//// } +//// return 5; +//// } +//// +//// hello/**/ + +verify.completionListContains('helloWorld'); From 018429bd6ec9629b338c6a591b723d1f33f1ca4f Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 2 Feb 2016 13:39:02 -0800 Subject: [PATCH 2/2] :heart: linter --- src/services/services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/services.ts b/src/services/services.ts index 1204b63c9fb..6761c487c6c 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3823,7 +3823,7 @@ namespace ts { return undefined; } - const { symbols, isMemberCompletion, isNewIdentifierLocation, location, isRightOfDot, isJsDocTagName } = completionData; + const { symbols, isMemberCompletion, isNewIdentifierLocation, location, isJsDocTagName } = completionData; if (isJsDocTagName) { // If the current position is a jsDoc tag name, only tag names should be provided for completion