StringHeld.cs 581 B

1234567891011121314151617181920
  1. namespace Terminal.Gui.Drivers;
  2. /// <summary>
  3. /// Implementation of <see cref="IHeld"/> for <see cref="AnsiResponseParser"/>
  4. /// </summary>
  5. internal class StringHeld : IHeld
  6. {
  7. private readonly StringBuilder _held = new ();
  8. public void ClearHeld () { _held.Clear (); }
  9. public string? HeldToString () { return _held.ToString (); }
  10. public IEnumerable<object> HeldToObjects () { return _held.ToString ().Select (c => (object)c); }
  11. public void AddToHeld (object o) { _held.Append ((char)o); }
  12. /// <inheritdoc/>
  13. public int Length => _held.Length;
  14. }