2
0

StringHeld.cs 593 B

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