private void RedrawSearchResults()
{
using (var snapshot = this.console.TakeSnapshot())
{
resultsWiper.Wipe();
resultsWiper.SetBottomToTop();
menuWiper.Bottom = resultsWiper.Bottom;
this.console.CursorTop = resultsWiper.Top;
this.console.CursorLeft = 0;
for (int i = 0; i < latestResults.Count; i++)
{
ConsoleString searchResult = latestResults[i].RichDisplayText;
if (i == selectedIndex)
{
searchResult = searchResult.HighlightSubstring(0, searchResult.Length, ConsoleColor.Yellow, null);
}
if(searchResult.Length > this.console.BufferWidth - 1)
{
searchResult = searchResult.Substring(0, this.console.BufferWidth - 4) + "...";
}
if (latestResultsSearchString.Length > 0)
{
searchResult = searchResult.Highlight(latestResultsSearchString, ConsoleColor.Black, ConsoleColor.Yellow, StringComparison.InvariantCultureIgnoreCase);
}
this.console.WriteLine(searchResult);
resultsWiper.IncrementBottom();
menuWiper.IncrementBottom();
}
}
}