From 2fb92eaf38dceeb51a7d413dca9de55b9c971720 Mon Sep 17 00:00:00 2001 From: johnsoncodehk Date: Mon, 29 Nov 2021 02:09:25 +0800 Subject: [PATCH] fix: goto definition not working for alias path close #728 --- .../src/services/definition.ts | 17 +++++++++++++++++ packages/vue-code-gen/src/generators/script.ts | 12 ------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/vscode-vue-languageservice/src/services/definition.ts b/packages/vscode-vue-languageservice/src/services/definition.ts index 26460fbea..4c2bdcd53 100644 --- a/packages/vscode-vue-languageservice/src/services/definition.ts +++ b/packages/vscode-vue-languageservice/src/services/definition.ts @@ -92,6 +92,23 @@ export function register({ sourceFiles, getCssLs, getTsLs }: ApiLanguageServiceC originSelectionRange, }); } + else { + // fix https://github.com/johnsoncodehk/volar/issues/728 + const targetSourceFile = sourceFiles.getSourceFileByTsUri(tsLoc.lsType, tsLoc_2.targetUri); + if (targetSourceFile) { + const targetDocument = targetSourceFile.getTextDocument(); + const targetRange = { + start: targetDocument.positionAt(0), + end: targetDocument.positionAt(targetDocument.getText().length), + }; + vueResult.push({ + targetUri: targetSourceFile.uri, + targetRange: targetRange, + targetSelectionRange: targetRange, + originSelectionRange, + }); + } + } } function withTeleports(uri: string, position: vscode.Position, isOriginal: boolean) { diff --git a/packages/vue-code-gen/src/generators/script.ts b/packages/vue-code-gen/src/generators/script.ts index 22632b42b..782249ae4 100644 --- a/packages/vue-code-gen/src/generators/script.ts +++ b/packages/vue-code-gen/src/generators/script.ts @@ -27,7 +27,6 @@ export function generate( const codeGen = createCodeGen(); const teleports: SourceMaps.Mapping[] = []; const shouldAddExportDefault = lsType === 'script' && !!scriptSetup; - const overlapMapRanges: SourceMaps.Range[] = []; const usedTypes = { DefinePropsToOptions: false, mergePropDefaults: false, @@ -140,12 +139,6 @@ export function generate( ); codeGen.addText(`;\n`); codeGen.addText(`export { default } from '${src}';\n`); - - overlapMapRanges.push({ - start: 0, - end: codeGen.getText().length - }); - } function writeScript() { if (!script) @@ -216,12 +209,7 @@ export function generate( } function writeExportComponent() { if (shouldAddExportDefault) { - const start = codeGen.getText().length; codeGen.addText(`export default (await import('${vueLibName}')).defineComponent({\n`); - overlapMapRanges.push({ - start, - end: codeGen.getText().length, - }); } else { codeGen.addText(`\n`);