Mono.TextEditor.TextEditorData.FindPrevious C# (CSharp) Method

FindPrevious() public method

public FindPrevious ( bool setSelection ) : SearchResult
setSelection bool
return SearchResult
		public SearchResult FindPrevious (bool setSelection)
		{
			if (SearchEngine.SearchRequest == null || string.IsNullOrEmpty (SearchEngine.SearchRequest.SearchPattern))
				return null;
			int startOffset = Caret.Offset - SearchEngine.SearchRequest.SearchPattern.Length;
			if (IsSomethingSelected && IsMatchAt (MainSelection.GetAnchorOffset (this))) 
				startOffset = MainSelection.GetAnchorOffset (this);
			
			int searchOffset;
			if (startOffset < 0) {
				searchOffset = Document.TextLength - 1;
			} else {
				searchOffset = (startOffset + Document.TextLength - 1) % Document.TextLength;
			}
			SearchResult result = SearchBackward (searchOffset);
			if (result != null) {
				result.SearchWrapped = result.EndOffset > startOffset;
				Caret.Offset = result.Offset + result.Length;
				if (setSelection)
					MainSelection = new Selection (Document.OffsetToLocation (result.Offset), Caret.Location);
			}
			return result;
		}