diff --git a/packages/language-core/lib/codegen/script/index.ts b/packages/language-core/lib/codegen/script/index.ts index 0aacb3774e..e699f8333e 100644 --- a/packages/language-core/lib/codegen/script/index.ts +++ b/packages/language-core/lib/codegen/script/index.ts @@ -56,7 +56,13 @@ export function* generateScript(options: ScriptCodegenOptions): Generator${newLine}`; + const globalTypes = options.vueCompilerOptions.__setupedGlobalTypes; + if (typeof globalTypes === 'object') { + yield `/// ${newLine}`; + } + else { + yield `/// ${newLine}`; + } } else { yield `/* placeholder */`; diff --git a/packages/language-core/lib/types.ts b/packages/language-core/lib/types.ts index 8d1803d89b..2a6c93ba9b 100644 --- a/packages/language-core/lib/types.ts +++ b/packages/language-core/lib/types.ts @@ -55,7 +55,9 @@ export interface VueCompilerOptions { experimentalModelPropName: Record | Record[]>>; // internal - __setupedGlobalTypes?: boolean; + __setupedGlobalTypes?: true | { + absolutePath: string; + }; __test?: boolean; } diff --git a/packages/language-core/lib/utils/ts.ts b/packages/language-core/lib/utils/ts.ts index 292825783f..fa57417ef6 100644 --- a/packages/language-core/lib/utils/ts.ts +++ b/packages/language-core/lib/utils/ts.ts @@ -281,9 +281,9 @@ export function resolveVueCompilerOptions(vueOptions: Partial