From de308a896353b533a37101de8b52ec8840aded55 Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Thu, 4 May 2023 07:57:36 +0800 Subject: [PATCH] fix: format adds spaces to `v-for` if nested template element assigns type to slot props close #2750, close #2757 --- packages/vue-language-core/src/generators/template.ts | 5 +++-- packages/vue-test-workspace/format/#2750/input.vue | 6 ++++++ packages/vue-test-workspace/format/#2750/output.vue | 6 ++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 packages/vue-test-workspace/format/#2750/input.vue create mode 100644 packages/vue-test-workspace/format/#2750/output.vue diff --git a/packages/vue-language-core/src/generators/template.ts b/packages/vue-language-core/src/generators/template.ts index e16381ff0..c9ce89a87 100644 --- a/packages/vue-language-core/src/generators/template.ts +++ b/packages/vue-language-core/src/generators/template.ts @@ -36,10 +36,11 @@ const capabilitiesPresets = { refAttr: { references: true, definition: true, rename: true } satisfies FileRangeCapabilities, }; const formatBrackets = { - normal: ['`${', '}`'] as [string, string], + normal: ['`${', '}`;'] as [string, string], // fix https://github.com/johnsoncodehk/volar/issues/1210 // fix https://github.com/johnsoncodehk/volar/issues/2305 curly: ['0 +', '+ 0;'] as [string, string], + event: ['() => ', ';'] as [string, string], }; const validTsVar = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/; // @ts-ignore @@ -939,7 +940,7 @@ export function generate( ...createFormatCode( prop.exp.content, prop.exp.loc.start.offset, - formatBrackets.normal, + isCompoundExpression ? formatBrackets.event : formatBrackets.normal, ), ); } diff --git a/packages/vue-test-workspace/format/#2750/input.vue b/packages/vue-test-workspace/format/#2750/input.vue new file mode 100644 index 000000000..5f536c96b --- /dev/null +++ b/packages/vue-test-workspace/format/#2750/input.vue @@ -0,0 +1,6 @@ + diff --git a/packages/vue-test-workspace/format/#2750/output.vue b/packages/vue-test-workspace/format/#2750/output.vue new file mode 100644 index 000000000..5f536c96b --- /dev/null +++ b/packages/vue-test-workspace/format/#2750/output.vue @@ -0,0 +1,6 @@ +