From 42355fcd28040e3fabae4fa7716c0cd499f09c98 Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Fri, 3 Jan 2025 09:34:58 +0800 Subject: [PATCH] fix(language-core): handle parentheses in v-for exp --- .../language-core/lib/plugins/vue-template-inline-ts.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/language-core/lib/plugins/vue-template-inline-ts.ts b/packages/language-core/lib/plugins/vue-template-inline-ts.ts index be9a869356..8beb2f31d0 100644 --- a/packages/language-core/lib/plugins/vue-template-inline-ts.ts +++ b/packages/language-core/lib/plugins/vue-template-inline-ts.ts @@ -146,8 +146,10 @@ const plugin: VueLanguagePlugin = ctx => { const { leftExpressionRange, leftExpressionText } = parseVForNode(node); const { source } = node.parseResult; if (leftExpressionRange && leftExpressionText && source.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION) { - const start = leftExpressionRange.start; - const end = source.loc.start.offset + source.content.length; + let start = leftExpressionRange.start; + let end = source.loc.start.offset + source.content.length; + while (templateContent[start - 1] === ' ' || templateContent[start - 1] === '(') start--; + while (templateContent[end] === ' ' || templateContent[end] === ')') end++; addFormatCodes( templateContent.slice(start, end), start,