public override void PreprocessMouseUp(MouseButtonEventArgs e) { try { if (_mouseDownAnchorPoint.HasValue && this._state.Enabled) { var currentMousePosition = RelativeToView(e.GetPosition(_view.VisualElement)); if (!InDragOperation(_mouseDownAnchorPoint.Value, currentMousePosition)) { this._state.Enabled = false; ITextViewLine line = this._view.TextViewLines.GetTextViewLineContainingYCoordinate(currentMousePosition.Y); SnapshotPoint?bufferPosition = line.GetBufferPositionFromXCoordinate(currentMousePosition.X); string keyword = AsmDudeToolsStatic.getKeywordStr(bufferPosition); if (keyword != null) { this.DispatchGoToDoc(keyword); } this.SetHighlightSpan(null); this._view.Selection.Clear(); e.Handled = true; } } _mouseDownAnchorPoint = null; } catch (Exception ex) { Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "ERROR: PreprocessMouseUp; e={0}", ex.ToString())); } }