private void btnHighlightAll_Click(object sender, EventArgs e) { if (!_highlightGroups.ContainsKey(_editor)) { _highlightGroups[_editor] = new HighlightGroup(_editor); } HighlightGroup group = _highlightGroups[_editor]; if (string.IsNullOrEmpty(LookFor)) { // Clear highlights group.ClearMarkers(); } else { _search.LookFor = txtLookFor.Text; _search.MatchCase = chkMatchCase.Checked; _search.MatchWholeWordOnly = chkMatchWholeWord.Checked; bool looped = false; int offset = 0, count = 0; for (;;) { TextRange range = _search.FindNext(offset, false, out looped); if (range == null || looped) { break; } offset = range.Offset + range.Length; count++; var m = new TextMarker(range.Offset, range.Length, TextMarkerType.SolidBlock, Color.Yellow, Color.Black); group.AddMarker(m); } if (count == 0) { MessageBox.Show("Search text not found."); } else { Close(); } } }
private void highlightSelectionToolStripMenuItem_Click(object sender, EventArgs e) { string LookFor = string.Empty; LookFor = editor.ActiveTextAreaControl.TextArea.SelectionManager.SelectedText; // if there's text selected, highlight all! if (!_highlightGroups.ContainsKey(editor)) { _highlightGroups[editor] = new HighlightGroup(editor); } HighlightGroup group = _highlightGroups[editor]; TextEditorSearcher _search = new TextEditorSearcher(); _search.Document = editor.Document; group.ClearMarkers(); _search.LookFor = LookFor; _search.MatchCase = true; _search.MatchWholeWordOnly = true; bool looped = false; int offset = 0, count = 0; for (; ;) { TextRange range = _search.FindNext(offset, false, out looped); if (range == null || looped) { break; } offset = range.Offset + range.Length; count++; var m = new TextMarker(range.Offset, range.Length, TextMarkerType.SolidBlock, Color.Orange, Color.Black); group.AddMarker(m); } editor.Invalidate(); editor.Refresh(); }