static void LoopExample(CluiLib.Clui cli) { cli .LoopUntil(f => { f .Print("1. Edit profile") .Print("2. Set avatar") .Print("3. Exit") .Ask("Enter action number", (input, cli) => { switch (input) { case "1": EditProfile(cli); break; case "3": cli.Set("break", "1"); break; } }); }, ctx => (string)ctx.Get("break") == "1"); ; }
static void MenuItem1Handler(SimpleCliMenuItem item, CluiLib.Clui cli) { cli.Ask("Enter something", (input, cli) => { cli.Print("You entered {0}", input); }); }
static CluiLib.Clui EditProfile(CluiLib.Clui cli) { return(cli .Ask("Enter first name", (input, cl) => cl.Set("firstName", input)) .Ask("Enter last name", (input, cl) => cl.Set("lastName", input)) .Print("We will now call you {0} {1}", cli.Get("firstName"), cli.Get("lastName")) ); }
static void MenuItem2Handler(SimpleCliMenuItem item, CluiLib.Clui cli) { cli.Print("Hello from {0}", nameof(MenuItem2Handler)); }
static void Hello(CluiLib.Clui cli) { cli.Print("Hello!"); }