1106
}
1107
1108
>
export async function parseSkillFile(uri: URI, fileService: IFileService): Promise<{ name: string; description?: string; userInvokable?: boolean }> {
pluginParsers.ts
1109
>
try {
1110
>
const content = await fileService.readFile(uri);
1111
>
const frontmatter = parseFrontMatter(content.value.toString());
1112
>
const name = frontmatter?.getStringValue('name')?.trim() || basename(dirname(uri));
1113
>
const description = frontmatter?.getStringValue('description')?.trim();
1114
>
const userInvokable = frontmatter?.getBooleanValue('user-invocable');
1115
>
return { name, description, userInvokable };
1116
>
} catch {
1117
return { name: basename(dirname(uri)) };
1118
}
1120
1121
export async function parseRuleFile(uri: URI, fileService: IFileService): Promise<{ name: string; description?: string; globs?: string[]; alwaysApply?: boolean }> {