public static Prompter BlankLine(this Prompter prompter, Action <StaticText> setupStaticText = null) { var staticText = new StaticText(new ColorString()); setupStaticText?.Invoke(staticText); prompter.Add(staticText); return(prompter); }
public static Prompter Text(this Prompter prompter, FunctionOrColorString text, Action <StaticText> setupStaticText = null) { var staticText = new StaticText(text); setupStaticText?.Invoke(staticText); prompter.Add(staticText); return(prompter); }
public static Prompter Checkbox(this Prompter prompter, string name, FunctionOrColorString message, IEnumerable <string> choices, Action <CheckboxQuestion> setupQuestion = null) { var question = new CheckboxQuestion(name, message, choices); setupQuestion?.Invoke(question); prompter.Add(question); return(prompter); }
public static Prompter Confirm(this Prompter prompter, string name, FunctionOrColorString message, bool @default = false, Action <ConfirmQuestion> setupQuestion = null) { var question = new ConfirmQuestion(name, message, @default); setupQuestion?.Invoke(question); prompter.Add(question); return(prompter); }
public static Prompter Password(this Prompter prompter, string name, FunctionOrColorString message, Action <PasswordQuestion> setupQuestion = null) { var question = new PasswordQuestion(name, message); setupQuestion?.Invoke(question); prompter.Add(question); return(prompter); }
public static Prompter Separator(this Prompter prompter, char separator = '=', Action <StaticText> setupStaticText = null) { var staticText = new StaticText(new ColorString(new string(separator, Console.WindowWidth))); setupStaticText?.Invoke(staticText); prompter.Add(staticText); return(prompter); }
//TODO: Enforce a converter parameter here public static Prompter List <TValue>(this Prompter prompter, string name, FunctionOrColorString message, IEnumerable <string> choices, Func <int, TValue> converter, Action <ListQuestion <TValue> > setupQuestion = null) { if (converter is null) { throw new ArgumentNullException(nameof(converter)); } var question = new ListQuestion <TValue>(name, message, choices); question.Transform(converter); setupQuestion?.Invoke(question); prompter.Add(question); return(prompter); }