private static IEnumerable <IReSharperTooltipContent> GetTooltipContents( [NotNull] IHighlighter highlighter, TextRange range, [NotNull] IDocumentMarkup documentMarkup, [CanBeNull] ISolution solution, bool skipIdentifierHighlighting) { if (highlighter.Attributes.Effect.Type == EffectType.GUTTER_MARK) { yield break; } var highlighting = highlighter.UserData as IHighlighting; if (highlighting != null) { IDocument document = documentMarkup.Document; IContextBoundSettingsStore settings = document.GetSettings(); Severity severity = HighlightingSettingsManager.Instance.GetSeverity(highlighting, solution); IssueTooltipContent issueContent = TryCreateIssueContent(highlighting, range, highlighter.RichTextToolTip, severity, settings, solution); if (issueContent != null) { yield return(issueContent); yield break; } if (solution != null && IsIdentifierHighlighting(highlighting)) { if (!skipIdentifierHighlighting) { var identifierContentGroup = GetIdentifierContentGroup(highlighter, solution, settings); if (identifierContentGroup != null) { foreach (IdentifierTooltipContent content in identifierContentGroup.Identifiers) { yield return(content); } if (identifierContentGroup.ArgumentRole != null) { yield return(identifierContentGroup.ArgumentRole); } } } yield break; } } MiscTooltipContent miscContent = TryCreateMiscContent(highlighter.RichTextToolTip, range); if (miscContent != null) { yield return(miscContent); } }
private static ITooltipContent[] GetTooltipContents([NotNull] IHighlighter highlighter, TextRange range, [NotNull] IDocumentMarkup documentMarkup, [CanBeNull] ISolution solution, bool skipIdentifierHighlighting) { if (highlighter.Attributes.Effect.Type == EffectType.GUTTER_MARK) { return(EmptyArray <ITooltipContent> .Instance); } var highlighting = highlighter.UserData as IHighlighting; if (highlighting != null) { IDocument document = documentMarkup.Document; IContextBoundSettingsStore settings = document.GetSettings(); Severity severity = HighlightingSettingsManager.Instance.GetSeverity(highlighting, document, solution); IssueTooltipContent issueContent = TryCreateIssueContent(highlighting, range, highlighter.RichTextToolTip, severity, settings, solution); if (issueContent != null) { return new ITooltipContent[] { issueContent } } ; if (solution != null && IsIdentifierHighlighting(highlighting)) { if (skipIdentifierHighlighting) { return(EmptyArray <ITooltipContent> .Instance); } IdentifierTooltipContent[] identifierContents = GetIdentifierTooltipContents(highlighter, solution, settings); // ReSharper disable once CoVariantArrayConversion return(identifierContents); } } MiscTooltipContent miscContent = TryCreateMiscContent(highlighter.RichTextToolTip, range); if (miscContent != null) { return new ITooltipContent[] { miscContent } } ; return(EmptyArray <ITooltipContent> .Instance); }
public void AddMiscTooltipContent([NotNull] MiscTooltipContent content) => _miscContents.Add(content);