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(); } } }