protected override void ConfigureOptions(OptionsFactory options) { options.Input("Welcome to new Tempest Template generator! \n" + "Please enter the name of your Generator", s => _options.GeneratorName = s); options.List("Self-hosted or Library?") .Choice("Self-hosted", "selfhosted", () => _options.SelfHosted = true) .Choice("Library", "library"); options .List("Would you like to include a build script?") .Choice("Sure!", "build", () => _options.IncludeBuildScript = true) .Choice("I'll pass", "nobuild", () => { }); options .Check("What build script would you like?") .When(() => _options.IncludeBuildScript) .Choice("I'll have me some AppVeyor!", "appveyor", () => _options.BuildScriptTypes = _options.BuildScriptTypes | BuildScriptTypes.AppVeyor); }
protected override void ConfigureOptions(OptionsFactory options) { options.Check("Just a check that does nothing") .Choice("Choice 1", "1", () => {}) .Choice("Choice 2", "2", () => {}) .Choice("Choice 3", "3", () => {}); options.List("Just a list that does nothing") .Choice("Choice 1", "1") .Choice("Choice 2", "2"); options.Input("Welcome to Hello World generator. Please enter the name: ", s => _name = s); }
// Should be delegated to another service maybe protected Type GetGeneratorFromSelection(TempestRunnerArguments runnerArguments) { var generators = _generatorFinder.LocateGenerators(_directoryFinder.FindGeneratorDirectories(runnerArguments.SearchPath).ToArray()).ToArray(); var options = _optionsFactory.List("You haven't picked a generator. Available generators:"); var generatorMap = new Dictionary <string, Type>(); foreach (var generatorType in generators) { var generatorName = generatorType.Name.Replace("Generator", ""); generatorMap.Add(generatorName.ToLower(), generatorType); options.Choice($"{generatorName}", generatorName.ToLower()); } var generatorChoice = ((IConfigurationOption)options).Render(new RenderContext(new RenderOptions())); var generator = generatorMap[generatorChoice]; return(generator); }
protected override void ConfigureOptions(OptionsFactory options) { options.List("Foo or bar?", s => _text = s).Choice("Foo", "foo").Choice("Bar", "bar"); }
protected override void ConfigureOptions(OptionsFactory options) { options.List("Foo or bar?").Choice("Foo", "foo", () => _foo = true).Choice("Bar", "bar"); options.Input("Output?", s => _text = s); }