Skip to content

Commit 61d737a

Browse files
fix(language-core): use keywords instead of semicolons to separate script sections (#5217)
Co-authored-by: KazariEX <1364035137@qq.com>
1 parent ebac185 commit 61d737a

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

packages/language-core/lib/codegen/script/index.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,17 +115,15 @@ export function* generateScript(options: ScriptCodegenOptions): Generator<Code,
115115
}
116116
else {
117117
yield generateSfcBlockSection(options.sfc.script, 0, options.sfc.script.content.length, codeFeatures.all);
118+
yield* generateScriptSectionPartiallyEnding(options.sfc.script.name, options.sfc.script.content.length, '#3632/script.vue');
118119
}
119120
}
120121
else if (options.sfc.scriptSetup && options.scriptSetupRanges) {
121122
yield* generateScriptSetup(options, ctx, options.sfc.scriptSetup, options.scriptSetupRanges);
122123
}
123124

124-
if (options.sfc.script) {
125-
yield* generateScriptSectionPartiallyEnding(options.sfc.script.name, options.sfc.script.content.length, '#3632/script.vue');
126-
}
127125
if (options.sfc.scriptSetup) {
128-
yield* generateScriptSectionPartiallyEnding(options.sfc.scriptSetup.name, options.sfc.scriptSetup.content.length, '#4569/main.vue');
126+
yield* generateScriptSectionPartiallyEnding(options.sfc.scriptSetup.name, options.sfc.scriptSetup.content.length, '#4569/main.vue', ';');
129127
}
130128

131129
if (!ctx.generatedTemplate) {
@@ -148,8 +146,13 @@ export function* generateScript(options: ScriptCodegenOptions): Generator<Code,
148146
return ctx;
149147
}
150148

151-
export function* generateScriptSectionPartiallyEnding(source: string, end: number, mark: string): Generator<Code> {
152-
yield `;`;
149+
export function* generateScriptSectionPartiallyEnding(
150+
source: string,
151+
end: number,
152+
mark: string,
153+
delimiter = 'debugger'
154+
): Generator<Code> {
155+
yield delimiter;
153156
yield ['', source, end, codeFeatures.verification];
154157
yield `/* PartiallyEnd: ${mark} */${newLine}`;
155158
}

packages/language-core/lib/codegen/script/scriptSetup.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,8 @@ export function* generateScriptSetup(
3131
): Generator<Code> {
3232
if (scriptSetup.generic) {
3333
if (!options.scriptRanges?.exportDefault) {
34-
if (options.sfc.scriptSetup) {
35-
// #4569
36-
yield [
37-
'',
38-
'scriptSetup',
39-
options.sfc.scriptSetup.content.length,
40-
codeFeatures.verification,
41-
];
42-
}
34+
// #4569
35+
yield ['', 'scriptSetup', 0, codeFeatures.verification];
4336
yield `export default `;
4437
}
4538
yield `(`;

0 commit comments

Comments
 (0)