public SearchResult FindNext (bool setSelection)
{
if (SearchEngine.SearchRequest == null || string.IsNullOrEmpty (SearchEngine.SearchRequest.SearchPattern))
return null;
int startOffset = Caret.Offset;
if (IsSomethingSelected && IsMatchAt (startOffset)) {
startOffset = MainSelection.GetLeadOffset (this);
}
SearchResult result = SearchForward (startOffset);
if (result != null) {
Caret.Offset = result.Offset + result.Length;
if (setSelection)
MainSelection = new Selection (Document.OffsetToLocation (result.Offset), Caret.Location);
}
return result;
}