示例#1
0
        private static ClassifiedTextRunStyle GetClassifiedTextRunStyle(TaggedTextStyle style)
        {
            var result = ClassifiedTextRunStyle.Plain;

            if ((style & TaggedTextStyle.Emphasis) == TaggedTextStyle.Emphasis)
            {
                result |= ClassifiedTextRunStyle.Italic;
            }

            if ((style & TaggedTextStyle.Strong) == TaggedTextStyle.Strong)
            {
                result |= ClassifiedTextRunStyle.Bold;
            }

            if ((style & TaggedTextStyle.Underline) == TaggedTextStyle.Underline)
            {
                result |= ClassifiedTextRunStyle.Underline;
            }

            if ((style & TaggedTextStyle.Code) == TaggedTextStyle.Code)
            {
                result |= ClassifiedTextRunStyle.UseClassificationFont;
            }

            return(result);
        }
示例#2
0
 internal TaggedText(string tag, string text, TaggedTextStyle style, string navigationTarget, string navigationHint)
 {
     Tag              = tag ?? throw new ArgumentNullException(nameof(tag));
     Text             = text ?? throw new ArgumentNullException(nameof(text));
     Style            = style;
     NavigationTarget = navigationTarget;
     NavigationHint   = navigationHint;
 }
示例#3
0
        public static ImmutableArray <TaggedText> ToTaggedText(
            this IEnumerable <SymbolDisplayPart> displayParts, TaggedTextStyle style, Func <ISymbol, string> getNavigationHint = null, bool includeNavigationHints = true)
        {
            if (displayParts == null)
            {
                return(ImmutableArray <TaggedText> .Empty);
            }

            getNavigationHint ??= static symbol => symbol?.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat);
示例#4
0
        public static ImmutableArray <TaggedText> ToTaggedText(
            this IEnumerable <SymbolDisplayPart> displayParts, TaggedTextStyle style, Func <ISymbol, string> getNavigationHint = null)
        {
            if (displayParts == null)
            {
                return(ImmutableArray <TaggedText> .Empty);
            }

            getNavigationHint ??= GetNavigationHint;

            return(displayParts.SelectAsArray(d =>
                                              new TaggedText(
                                                  SymbolDisplayPartKindTags.GetTag(d.Kind),
                                                  d.ToString(),
                                                  style,
                                                  GetNavigationTarget(d.Symbol),
                                                  getNavigationHint(d.Symbol))));