void CaretPositionChanged (object o, DocumentLocationEventArgs args) { UpdateLineCol (); DocumentLine curLine = TextEditor.Document.GetLine (TextEditor.Caret.Line); MonoDevelop.SourceEditor.MessageBubbleTextMarker marker = null; if (curLine != null && curLine.Markers.Any (m => m is MonoDevelop.SourceEditor.MessageBubbleTextMarker)) { marker = (MonoDevelop.SourceEditor.MessageBubbleTextMarker)curLine.Markers.First (m => m is MonoDevelop.SourceEditor.MessageBubbleTextMarker); // marker.CollapseExtendedErrors = false; } if (oldExpandedMarker != null && oldExpandedMarker != marker) { // oldExpandedMarker.CollapseExtendedErrors = true; } oldExpandedMarker = marker; }
void CaretPositionChanged (object o, DocumentLocationEventArgs args) { UpdateLineCol (); LineSegment curLine = TextEditor.Document.GetLine (TextEditor.Caret.Line); MonoDevelop.SourceEditor.MessageBubbleTextMarker marker = null; if (curLine != null && curLine.Markers.Any (m => m is MonoDevelop.SourceEditor.MessageBubbleTextMarker)) { marker = (MonoDevelop.SourceEditor.MessageBubbleTextMarker)curLine.Markers.First (m => m is MonoDevelop.SourceEditor.MessageBubbleTextMarker); marker.CollapseExtendedErrors = false; if (oldExpandedMarker == null) Document.CommitLineToEndUpdate (Document.OffsetToLineNumber (curLine.Offset)); } if (oldExpandedMarker != null && oldExpandedMarker != marker) { oldExpandedMarker.CollapseExtendedErrors = true; int markerOffset = marker != null && marker.LineSegment != null ? marker.LineSegment.Offset : Int32.MaxValue; int oldMarkerOffset = oldExpandedMarker.LineSegment != null ? oldExpandedMarker.LineSegment.Offset : Int32.MaxValue; Document.CommitLineToEndUpdate (Document.OffsetToLineNumber (Math.Min (markerOffset, oldMarkerOffset))); } oldExpandedMarker = marker; }