Skip to content

Commit 49a4f3d

Browse files
Make missing snippet message include languages
1 parent 7b04f8f commit 49a4f3d

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,26 @@ 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+
throw new Error(
41+
`No snippet available for language '${languageId}'. Available languages: ${getUniqueLanguagesString(snippetDescription.snippets)}`,
42+
);
4143
}
4244

4345
return preferredSnippet;
4446
}
4547

48+
function getUniqueLanguagesString(snippets: CustomInsertSnippetArg[]) {
49+
return Array.from(
50+
new Set(
51+
snippets
52+
.filter((snippet) => snippet.languages != null)
53+
.flatMap((snippet) => snippet.languages),
54+
),
55+
)
56+
.sort()
57+
.join(", ");
58+
}
59+
4660
/**
4761
* Filter snippet definitions by language.
4862
* @param snippetDescriptions The snippets to filter

0 commit comments

Comments
 (0)