SearchResult CreateNamedSearchResult(SearchResult pos) { if (info == null || pos == null) { return null; } pos.ProvidedDocumentInformation = info; return pos; }
public static bool FindNextInSelection(IProgressMonitor monitor) { TextEditorControl textArea = null; while (textArea == null) { SearchResult result = find.FindNext(textSelection.Offset, textSelection.Length); if (result == null) { if (!foundAtLeastOneItem) { ShowNotFoundMessage(monitor); } find.Reset(); lastResult = null; foundAtLeastOneItem = false; return false; } else { textArea = OpenTextArea(result.FileName); if (textArea != null) { foundAtLeastOneItem = true; if (lastResult != null && lastResult.FileName == result.FileName && textArea.ActiveTextAreaControl.Caret.Offset != lastResult.Offset + lastResult.Length) { } int startPos = Math.Min(textArea.Document.TextLength, Math.Max(0, result.Offset)); int endPos = Math.Min(textArea.Document.TextLength, startPos + result.Length); SearchReplaceUtilities.SelectText(textArea, startPos, endPos); lastResult = result; } } } return true; }
public static void FindFirstInSelection(int offset, int length, IProgressMonitor monitor) { foundAtLeastOneItem = false; textSelection = null; SetSearchOptions(); if (find == null || SearchOptions.FindPattern == null || SearchOptions.FindPattern.Length == 0) { return; } if (!find.SearchStrategy.CompilePattern()) { find.Reset(); lastResult = null; return; } textSelection = new TextSelection(offset, length); FindNextInSelection(monitor); }
public static void FindNext(IProgressMonitor monitor) { SetSearchOptions(); if (find == null || SearchOptions.FindPattern == null || SearchOptions.FindPattern.Length == 0) { return; } if (!find.SearchStrategy.CompilePattern()) { find.Reset(); lastResult = null; return; } TextEditorControl textArea = null; while (textArea == null) { SearchResult result = find.FindNext(); if (result == null) { ShowNotFoundMessage(monitor); find.Reset(); lastResult = null; return; } else { textArea = OpenTextArea(result.FileName); if (textArea != null) { if (lastResult != null && lastResult.FileName == result.FileName && textArea.ActiveTextAreaControl.Caret.Offset != lastResult.Offset + lastResult.Length) { find.Reset(); } int startPos = Math.Min(textArea.Document.TextLength, Math.Max(0, result.Offset)); int endPos = Math.Min(textArea.Document.TextLength, startPos + result.Length); SearchReplaceUtilities.SelectText(textArea, startPos, endPos); lastResult = result; } } } }
static void MarkResult(List<TextEditorControl> textAreas, SearchResult result) { TextEditorControl textArea = OpenTextArea(result.FileName); if (textArea != null) { if (!textAreas.Contains(textArea)) { textAreas.Add(textArea); } textArea.ActiveTextAreaControl.Caret.Position = textArea.Document.OffsetToPosition(result.Offset); int lineNr = textArea.Document.GetLineNumberForOffset(result.Offset); if (!textArea.Document.BookmarkManager.IsMarked(lineNr)) { textArea.Document.BookmarkManager.ToggleMarkAt(lineNr); } } }
public static void ShowAsSearchResults(string pattern, List<Reference> list) { if (list == null) return; List<SearchResult> results = new List<SearchResult>(list.Count); foreach (Reference r in list) { SearchResult res = new SearchResult(r.Offset, r.Length); res.ProvidedDocumentInformation = GetDocumentInformation(r.FileName); results.Add(res); } SearchInFilesManager.ShowSearchResults(pattern, results); }
public void ShowSearchResults(SearchResult result) { if (result == null) throw new ArgumentNullException("result"); PadDescriptor searchResultPanel = WorkbenchSingleton.Workbench.GetPad(typeof(SearchResultPanel)); if (searchResultPanel != null) { searchResultPanel.BringPadToFront(); } lastSearches.Insert(0, result); if (result.SpecialPanel != null) { ShowSpecialPanel(result.SpecialPanel); } else if (result.Results != null) { ShowSearchResults(result.Pattern, result.Results); } if (SearchResultsShown != null) SearchResultsShown(this, EventArgs.Empty); }