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);
            }
        }
Exemple #2
0
        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);
        }