Skip to content

Commit 937d41b

Browse files
committed
feat: improve slots auto-complete
close #1251
1 parent f644e22 commit 937d41b

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

Diff for: packages/vue-code-gen/src/generators/template.ts

+29-1
Original file line numberDiff line numberDiff line change
@@ -1322,7 +1322,10 @@ export function generate(
13221322
argRange,
13231323
{
13241324
vueTag: 'template',
1325-
capabilities: capabilitiesSet.slotName,
1325+
capabilities: {
1326+
...capabilitiesSet.slotName,
1327+
completion: !!prop.arg,
1328+
},
13261329
},
13271330
false,
13281331
);
@@ -1355,6 +1358,31 @@ export function generate(
13551358
},
13561359
});
13571360
tsCodeGen.addText(`;\n`);
1361+
1362+
if (isStatic && !prop.arg) {
1363+
1364+
let offset = prop.loc.start.offset;
1365+
1366+
if (prop.loc.source.startsWith('#'))
1367+
offset += '#'.length;
1368+
else if (prop.loc.source.startsWith('v-slot:'))
1369+
offset += 'v-slot:'.length;
1370+
1371+
tsCodeGen.addText(varSlots);
1372+
tsCodeGen.addText(`['`);
1373+
writeCode(
1374+
'',
1375+
{ start: offset, end: offset },
1376+
SourceMaps.Mode.Offset,
1377+
{
1378+
vueTag: 'template',
1379+
capabilities: {
1380+
completion: true,
1381+
},
1382+
},
1383+
);
1384+
tsCodeGen.addText(`'];\n`);
1385+
}
13581386
}
13591387
}
13601388
}

0 commit comments

Comments
 (0)