export async function prepareRun()

in vscode/qodana/src/core/cli/executor.ts [71:97]


export async function prepareRun(token: string): Promise<boolean> {
    let linter = await getLinterFromQodanaYaml();
    if (linter !== undefined) {
        return true;
    }
    let langs = await getLanguagesInWorkspace();
    let { communityLinters, paidLinters } = getLinters(langs);
    if (communityLinters.length === 0 && paidLinters.length === 0) {
        if (vscode.workspace.workspaceFolders === undefined) {
            vscode.window.showErrorMessage(NO_WORKSPACE_OPENED);
        } else {
            vscode.window.showErrorMessage(NO_LINTERS_FOUND);
        }
        return false;
    }

    let selectedLinter = await selectLinter(token, communityLinters, paidLinters);
    if (selectedLinter === undefined) {
        return false;
    }
    let selectedImage = getLinterImageByCode(selectedLinter);
    if (selectedImage === undefined) {
        return false;
    }
    await createQodanaYaml(selectedImage);
    return true;
}