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