Skip to content

Commit 5a822fc

Browse files
Make missing snippet message include languages (#2861)
![image](https://github.com/user-attachments/assets/9121b9e4-62dc-47e4-9668-e3fe661c5ed5)
1 parent 8976420 commit 5a822fc

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

packages/cursorless-engine/src/core/getPreferredSnippet.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,22 @@ export function getPreferredSnippet(
3737
const preferredSnippet = filteredSnippets[0];
3838

3939
if (preferredSnippet == null) {
40-
throw new Error("No snippet available for the current language");
40+
const languages = getUniqueLanguagesString(snippetDescription.snippets);
41+
throw new Error(
42+
`No snippet available for language '${languageId}'. Available languages: ${languages}`,
43+
);
4144
}
4245

4346
return preferredSnippet;
4447
}
4548

49+
function getUniqueLanguagesString(snippets: CustomInsertSnippetArg[]): string {
50+
const languages = new Set(
51+
snippets.flatMap((snippet) => snippet.languages ?? []),
52+
);
53+
return Array.from(languages).sort().join(", ");
54+
}
55+
4656
/**
4757
* Filter snippet definitions by language.
4858
* @param snippetDescriptions The snippets to filter

0 commit comments

Comments
 (0)