in vscode/qodana/src/core/cli/language.ts [115:136]
export async function selectLinter(token: string, communityLinters: string[], paidLinters: string[]): Promise<string | undefined> {
let allLinters: string[] = communityLinters;
if (token) {
allLinters = paidLinters.concat(communityLinters);
}
if (allLinters.length === 0) {
return undefined;
}
if (allLinters.length === 1) {
return allLinters[0];
}
let choices = allLinters.map(linter => {
let language = Array.from(languageToProductCodeMap.keys()).find(key => languageToProductCodeMap.get(key)?.includes(linter));
let isCommunity = communityLinters.includes(linter);
let communityPrefix = isCommunity ? 'Community ' : '';
return {label: linter, description: `${linter} (${communityPrefix}${language})`};
});
let choice = await vscode.window.showQuickPick(choices, {placeHolder: 'Select a linter'});
return choice?.label;
}