From c2e12efc89eb09ad47e6bab34d621dd78a0c8759 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Mon, 11 Apr 2016 13:33:16 -0700 Subject: [PATCH] Completion list of named imports shouldnt contain default export member Fixes #6124 --- src/services/services.ts | 4 ++-- .../completionInNamedImportLocation.ts | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 tests/cases/fourslash/completionInNamedImportLocation.ts diff --git a/src/services/services.ts b/src/services/services.ts index 37339037c75..284c7aa7e51 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3834,10 +3834,10 @@ namespace ts { } if (isEmpty(existingImportsOrExports)) { - return exportsOfModule; + return filter(exportsOfModule, e => e.name !== "default"); } - return filter(exportsOfModule, e => !lookUp(existingImportsOrExports, e.name)); + return filter(exportsOfModule, e => e.name !== "default" && !lookUp(existingImportsOrExports, e.name)); } /** diff --git a/tests/cases/fourslash/completionInNamedImportLocation.ts b/tests/cases/fourslash/completionInNamedImportLocation.ts new file mode 100644 index 00000000000..596de652cc3 --- /dev/null +++ b/tests/cases/fourslash/completionInNamedImportLocation.ts @@ -0,0 +1,23 @@ +/// + +// @Filename: file.ts +////export var x = 10; +////export var y = 10; +////export default class C { +////} + + +// @Filename: a.ts +////import { /*1*/ } from "./file"; +////import { x, /*2*/ } from "./file"; + +goTo.file("a.ts"); +goTo.marker('1'); +verify.completionListContains("x", "var x: number"); +verify.completionListContains("y", "var y: number"); +verify.not.completionListContains("C"); + +goTo.marker('2'); +verify.not.completionListContains("x", "var x: number"); +verify.completionListContains("y", "var y: number"); +verify.not.completionListContains("C"); \ No newline at end of file