protected override void InputTemplate(OffscreenBuffer screenBuffer) { screenBuffer.WritePrompt(_message); screenBuffer.Write(_paginator.FilterTerm); if (string.IsNullOrEmpty(_paginator.FilterTerm)) { screenBuffer.Write(" Hit space to select", Prompt.ColorSchema.Answer); } var subset = _paginator.ToSubset(); foreach (var item in subset) { var value = _textSelector(item); screenBuffer.WriteLine(); if (_paginator.TryGetSelectedItem(out var selectedItem) && EqualityComparer <T> .Default.Equals(item, selectedItem)) { if (_selectedItems.Contains(item)) { screenBuffer.Write($"{Prompt.Symbols.Selector} {Prompt.Symbols.Selected} {value}", Prompt.ColorSchema.Select); } else { screenBuffer.Write($"{Prompt.Symbols.Selector} {Prompt.Symbols.NotSelect} {value}", Prompt.ColorSchema.Select); } }
public static void WriteInput(this OffscreenBuffer offscreenBuffer, TextInputBuffer textInputBuffer) { offscreenBuffer.Write(textInputBuffer.ToBackwardString()); offscreenBuffer.PushCursor(); offscreenBuffer.Write(textInputBuffer.ToForwardString()); }
protected override void InputTemplate(OffscreenBuffer screenBuffer) { screenBuffer.WritePrompt(_options.Message); screenBuffer.Write(new string('*', _inputBuffer.Length)); screenBuffer.SetCursorPosition(); }
protected override void InputTemplate(OffscreenBuffer screenBuffer) { screenBuffer.WritePrompt(_message); screenBuffer.Write(_paginator.FilterTerm); var subset = _paginator.ToSubset(); foreach (var item in subset) { var value = _valueSelector(item); screenBuffer.WriteLine(); if (_paginator.TryGetSelectedItem(out var selectedItem) && EqualityComparer <T> .Default.Equals(item, selectedItem)) { screenBuffer.Write($"{Prompt.Symbols.Selector} {value}", Prompt.ColorSchema.Select); }
protected override void FinishTemplate(OffscreenBuffer screenBuffer, T result) { screenBuffer.WriteFinish(_message); if (result != null) { screenBuffer.Write(result.ToString(), Prompt.ColorSchema.Answer); } }
protected override void InputTemplate(OffscreenBuffer screenBuffer) { screenBuffer.WritePrompt(_options.Message); if (_options.DefaultValue == null) { screenBuffer.Write("(y/n) "); } else if (_options.DefaultValue.Value) { screenBuffer.Write("(Y/n) "); } else { screenBuffer.Write("(y/N) "); } screenBuffer.SetCursorPosition(); }
protected override void InputTemplate(OffscreenBuffer screenBuffer) { screenBuffer.WritePrompt(_message); if (_defaultValue.HasValue) { screenBuffer.Write($"({_defaultValue.Value}) "); } var(left, top) = screenBuffer.GetCursorPosition(); var input = _inputBuffer.ToString(); screenBuffer.Write(input); var width = EastAsianWidth.GetWidth(input.Take(_startIndex)) + left; screenBuffer.SetCursorPosition(width % screenBuffer.BufferWidth, top + (width / screenBuffer.BufferWidth)); }
protected override void FinishTemplate(OffscreenBuffer screenBuffer, bool result) { screenBuffer.WriteFinish(_options.Message); screenBuffer.Write(result ? "Yes" : "No", Prompt.ColorSchema.Answer); }
protected override void FinishTemplate(OffscreenBuffer screenBuffer, string result) { screenBuffer.WriteFinish(_options.Message); screenBuffer.Write(new string('*', _inputBuffer.Length), Prompt.ColorSchema.Answer); }
public static void WritePrompt(this OffscreenBuffer offscreenBuffer, string message) { offscreenBuffer.Write(Prompt.Symbols.Prompt, Prompt.ColorSchema.PromptSymbol); offscreenBuffer.Write($" {message}: "); }
public static void WriteHint(this OffscreenBuffer offscreenBuffer, string message) { offscreenBuffer.Write(message, Prompt.ColorSchema.Hint); }
public static void WriteAnswer(this OffscreenBuffer offscreenBuffer, string message) { offscreenBuffer.Write(message, Prompt.ColorSchema.Answer); }
public static void WriteError(this OffscreenBuffer offscreenBuffer, string message) { offscreenBuffer.Write($"{Prompt.Symbols.Error} {message}", Prompt.ColorSchema.Error); }