function list()

in src/yo/index.ts [111:145]


function list(yo: Yeoman): Promise<QuickPickItem[]> {
	return new Promise((resolve, reject) => {
		setImmediate(() => {
			yo.getEnvironment().lookup(() => {
				const generators = yo.getGenerators().map(generator => {
					return {
						label: generator.name.replace(/(^|\/)generator\-/i, '$1') as string,
						description: generator.description,
						subGenerators: generator.subGenerators
					};
				});

				if (generators.length === 0) {
					reject();

					window.showInformationMessage('Make sure to install some generators first.', 'more info')
						.then(choice => {
							if (choice === 'more info') {
								opn('http://yeoman.io/learning/');
							}
						});

					return;
				}
				const azureGenerators = generators.filter(generator => {
					return generator.label === 'azuresfcsharp' 
					|| generator.label === 'azuresfjava'
					|| generator.label === 'azuresfcontainer' 
					|| generator.label === 'azuresfguest'
				})
				resolve(azureGenerators);
			});
		});
	});
}