From eca6410c6ef32e7ee2affb0abde9750abf69e16b Mon Sep 17 00:00:00 2001 From: Andy Date: Tue, 6 Feb 2018 11:37:34 -0800 Subject: [PATCH] Add top-level completion for path mapping (#21686) (#21689) --- src/services/pathCompletions.ts | 2 +- .../completionsPaths_pathMapping_topLevel.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/completionsPaths_pathMapping_topLevel.ts diff --git a/src/services/pathCompletions.ts b/src/services/pathCompletions.ts index 8840919c329..cf0d07b2351 100644 --- a/src/services/pathCompletions.ts +++ b/src/services/pathCompletions.ts @@ -187,7 +187,7 @@ namespace ts.Completions.PathCompletions { const pathPrefix = path.slice(0, path.length - 1); if (!startsWith(fragment, pathPrefix)) { - return emptyArray; + return [pathPrefix]; } const remainingFragment = fragment.slice(pathPrefix.length); diff --git a/tests/cases/fourslash/completionsPaths_pathMapping_topLevel.ts b/tests/cases/fourslash/completionsPaths_pathMapping_topLevel.ts new file mode 100644 index 00000000000..963851f5bc6 --- /dev/null +++ b/tests/cases/fourslash/completionsPaths_pathMapping_topLevel.ts @@ -0,0 +1,17 @@ +/// + +// @Filename: /x/src/a.ts +////import {} from "[|/**/|]"; + +// @Filename: /x/tsconfig.json +////{ +//// "compilerOptions": { +//// "baseUrl": ".", +//// "paths": { +//// "foo/*": ["src/*"] +//// } +//// } +////} + +const [replacementSpan] = test.ranges(); +verify.completionsAt("", ["src", "foo/"].map(name => ({ name, replacementSpan })));