public void HandleToolTipRequest(ToolTipRequestEventArgs args) { if (!args.InDocument) { return; } var offset = _editor.Document.GetOffset(args.LogicalPosition); //FoldingManager foldings = _editor.GetService(typeof(FoldingManager)) as FoldingManager; //if (foldings != null) //{ // var foldingsAtOffset = foldings.GetFoldingsAt(offset); // FoldingSection collapsedSection = foldingsAtOffset.FirstOrDefault(section => section.IsFolded); // if (collapsedSection != null) // { // args.SetToolTip(GetTooltipTextForCollapsedSection(args, collapsedSection)); // } //} var markersAtOffset = _textMarkerService.GetMarkersAtOffset(offset); var markerWithToolTip = markersAtOffset.FirstOrDefault(marker => marker.ToolTip != null); if (markerWithToolTip != null) { args.SetToolTip(markerWithToolTip.ToolTip); } }
private async Task <IEnumerable <object> > LoadActionsAsync(CancellationToken cancellationToken) { var allActions = new List <object>(); foreach (var provider in _providers) { var offset = _editor.TextArea.Caret.Offset; var length = 1; var marker = _textMarkerService.GetMarkersAtOffset(offset).FirstOrDefault(); if (marker != null) { offset = marker.StartOffset; length = marker.Length; } var actions = await provider.GetActions(offset, length, cancellationToken).ConfigureAwait(true); allActions.AddRange(actions); } return(allActions); }