Skip to content

Commit

Permalink
fix: slot auto-complete not working if slot name is empty
Browse files Browse the repository at this point in the history
  • Loading branch information
johnsoncodehk committed May 3, 2023
1 parent bd19e80 commit a082907
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 8 deletions.
18 changes: 10 additions & 8 deletions packages/vue-language-core/src/generators/template.ts
Original file line number Diff line number Diff line change
Expand Up @@ -767,14 +767,16 @@ export function generate(
offset += '#'.length;
else if (slotDir.loc.source.startsWith('v-slot:'))
offset += 'v-slot:'.length;
codes.push(`'`);
codes.push([
'',
'template',
offset,
{ completion: true },
]);
codes.push(`'/* empty slot name completion */\n`);
codes.push(
`${componentCtxVar}.slots!['`,
[
'',
'template',
offset,
{ completion: true },
],
`'/* empty slot name completion */]\n`,
);
}
codes.push(`}\n`);
}
Expand Down
15 changes: 15 additions & 0 deletions packages/vue-test-workspace/complete/slot-name/input/main.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<template>
<Foo>
<template #></template>
<!-- ^complete: default -->
</Foo>
</template>

<script lang="ts" setup>
let Foo: new () => {
$props: {};
$slots: {
default: any;
};
};
</script>
15 changes: 15 additions & 0 deletions packages/vue-test-workspace/complete/slot-name/output/main.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<template>
<Foo>
<template #default></template>
<!-- ^complete: default -->
</Foo>
</template>

<script lang="ts" setup>
let Foo: new () => {
$props: {};
$slots: {
default: any;
};
};
</script>

0 comments on commit a082907

Please sign in to comment.