export async function selectLinter()

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;
}