diff --git a/packages/cursorless-engine/src/core/getPreferredSnippet.ts b/packages/cursorless-engine/src/core/getPreferredSnippet.ts index ad2b2f4437..3c84bfbb50 100644 --- a/packages/cursorless-engine/src/core/getPreferredSnippet.ts +++ b/packages/cursorless-engine/src/core/getPreferredSnippet.ts @@ -37,12 +37,22 @@ export function getPreferredSnippet( const preferredSnippet = filteredSnippets[0]; if (preferredSnippet == null) { - throw new Error("No snippet available for the current language"); + const languages = getUniqueLanguagesString(snippetDescription.snippets); + throw new Error( + `No snippet available for language '${languageId}'. Available languages: ${languages}`, + ); } return preferredSnippet; } +function getUniqueLanguagesString(snippets: CustomInsertSnippetArg[]): string { + const languages = new Set( + snippets.flatMap((snippet) => snippet.languages ?? []), + ); + return Array.from(languages).sort().join(", "); +} + /** * Filter snippet definitions by language. * @param snippetDescriptions The snippets to filter