public Range FindPrevious(string searchString, bool wrap, SearchFlags flags, Range searchRange)
{
int caret = Scintilla.Caret.Position;
if (!searchRange.PositionInRange(caret))
return Find(searchRange.End, searchRange.Start, searchString, flags);
int anchor = Scintilla.Caret.Anchor;
if (!searchRange.PositionInRange(anchor))
anchor = caret;
Range r = Find(anchor, searchRange.Start, searchString, flags);
if (r != null)
return r;
else if (wrap)
return Find(searchRange.End, anchor, searchString, flags);
else
return null;
}