in src/mainClassPicker.ts [24:57]
public async showQuickPick(options: IMainClassOption[], placeHolder: string, parameter3?: Formatter | boolean,
parameter4?: boolean): Promise<IMainClassOption | undefined> {
let labelFormatter: Formatter = defaultLabelFormatter;
let autoPick: boolean = true;
if (typeof parameter3 === "function") {
labelFormatter = parameter3;
} else if (typeof parameter3 === "boolean") {
autoPick = parameter3;
}
if (typeof parameter4 === "boolean") {
autoPick = parameter4;
}
if (!options || !options.length) {
return undefined;
} else if (autoPick && options.length === 1) {
return options[0];
}
const pickItems = options.map((option) => {
return {
label: labelFormatter(option),
description: option.filePath ? path.basename(option.filePath) : "",
detail: option.projectName ? `Project: ${option.projectName}` : "",
data: option,
};
});
const selected = await window.showQuickPick(pickItems, { placeHolder });
if (selected) {
return selected.data;
}
return undefined;
}