From 75a088b7afa9e921668f757560d0d1dd6ec08cf7 Mon Sep 17 00:00:00 2001 From: johnsoncodehk Date: Tue, 20 Dec 2022 10:02:26 +0800 Subject: [PATCH] fix: `(__VLS_ctx).xxx` -> `__VLS_ctx.xxx` close #2225, --- .../src/generators/script.ts | 1 - .../src/generators/template.ts | 2 +- .../vue-language-core/src/utils/transform.ts | 4 +-- .../vue-test-workspace/vue-tsc/#2225/main.vue | 31 +++++++++++++++++++ 4 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 vue-language-tools/vue-test-workspace/vue-tsc/#2225/main.vue diff --git a/vue-language-tools/vue-language-core/src/generators/script.ts b/vue-language-tools/vue-language-core/src/generators/script.ts index 922f979aa..4853a91da 100644 --- a/vue-language-tools/vue-language-core/src/generators/script.ts +++ b/vue-language-tools/vue-language-core/src/generators/script.ts @@ -608,7 +608,6 @@ export function generate( const useGlobalThisTypeInCtx = fileName.endsWith('.html'); codeGen.push(`let __VLS_ctx!: ${useGlobalThisTypeInCtx ? 'typeof globalThis &' : ''}`); - codeGen.push(`import('./__VLS_types.js').PickNotAny<__VLS_Ctx, {}> & `); if (sfc.scriptSetup) { codeGen.push(`InstanceType {}>> & `); } diff --git a/vue-language-tools/vue-language-core/src/generators/template.ts b/vue-language-tools/vue-language-core/src/generators/template.ts index 6688317f2..0433b03d9 100644 --- a/vue-language-tools/vue-language-core/src/generators/template.ts +++ b/vue-language-tools/vue-language-core/src/generators/template.ts @@ -1373,7 +1373,7 @@ export function generate( prop.loc.start.offset, capabilitiesSet.diagnosticOnly, ]); - codeGen.push(`(await import('./__VLS_types.js')).directiveFunction((__VLS_ctx).`); + codeGen.push(`(await import('./__VLS_types.js')).directiveFunction(__VLS_ctx.`); codeGen.push([ camelize('v-' + prop.name), 'template', diff --git a/vue-language-tools/vue-language-core/src/utils/transform.ts b/vue-language-tools/vue-language-core/src/utils/transform.ts index dc555dd02..9b293d396 100644 --- a/vue-language-tools/vue-language-core/src/utils/transform.ts +++ b/vue-language-tools/vue-language-core/src/utils/transform.ts @@ -75,7 +75,7 @@ export function walkInterpolationFragment( } } else { - cb('(__VLS_ctx).', undefined); + cb('__VLS_ctx.', undefined); if (ctxVars[i + 1].isShorthand) { cb(code.substring(ctxVars[i].offset, ctxVars[i + 1].offset + ctxVars[i + 1].text.length), ctxVars[i].offset); cb(': ', undefined); @@ -100,7 +100,7 @@ export function walkInterpolationFragment( } else { cb('', ctxVars[ctxVars.length - 1].offset, true); - cb('(__VLS_ctx).', undefined); + cb('__VLS_ctx.', undefined); cb(code.substring(ctxVars[ctxVars.length - 1].offset), ctxVars[ctxVars.length - 1].offset); } } diff --git a/vue-language-tools/vue-test-workspace/vue-tsc/#2225/main.vue b/vue-language-tools/vue-test-workspace/vue-tsc/#2225/main.vue new file mode 100644 index 000000000..a5fa6e4a7 --- /dev/null +++ b/vue-language-tools/vue-test-workspace/vue-tsc/#2225/main.vue @@ -0,0 +1,31 @@ + + +