void UpdateRegions (IEnumerable<TextSegment> regions, SearchWorkerArguments args)
{
HashSet<int> updateLines = new HashSet<int> ();
foreach (TextSegment region in regions) {
int lineNumber = Document.OffsetToLineNumber (region.Offset);
if (lineNumber > args.LastLine || lineNumber < args.FirstLine)
continue;
updateLines.Add (lineNumber);
}
foreach (int lineNumber in updateLines) {
// RemoveCachedLine (Document.GetLine (lineNumber));
textEditor.Document.RequestUpdate (new LineUpdate (lineNumber));
}
if (updateLines.Count > 0)
textEditor.Document.CommitDocumentUpdate ();
}