Suggestion.cs 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. #nullable disable
  2. namespace Terminal.Gui.Views;
  3. /// <summary>A replacement suggestion made by <see cref="IAutocomplete"/></summary>
  4. public class Suggestion
  5. {
  6. /// <summary>Creates a new instance of the <see cref="Suggestion"/> class.</summary>
  7. /// <param name="remove"></param>
  8. /// <param name="replacement"></param>
  9. /// <param name="title">User visible title for the suggestion or null if the same as <paramref name="replacement"/>.</param>
  10. public Suggestion (int remove, string replacement, string title = null)
  11. {
  12. Remove = remove;
  13. Replacement = replacement;
  14. Title = title ?? replacement;
  15. }
  16. /// <summary>
  17. /// The number of characters to remove at the current cursor position before adding the <see cref="Replacement"/>
  18. /// </summary>
  19. public int Remove { get; }
  20. /// <summary>The replacement text that will be added</summary>
  21. public string Replacement { get; }
  22. /// <summary>
  23. /// The user visible description for the <see cref="Replacement"/>. Typically this would be the same as
  24. /// <see cref="Replacement"/> but may vary in advanced use cases (e.g. Title= "ctor", Replacement = "MyClass()\n{\n}")
  25. /// </summary>
  26. public string Title { get; }
  27. }