static Segment.Data GetSegmentData(object segment) { if (segment is HelpLink) { HelpLink link = (HelpLink)segment; return(Segment.BuildForLink(link)); } HelpFormat format = (HelpFormat)segment; return(Segment.BuildForFormat(format)); }
internal static Data BuildForFormat(HelpFormat format) { switch (format.Type) { case HelpFormat.FormatType.Title: return(new Data() { Begin = format.Position, Length = format.Length, Prefix = TITLE_PREFIX, Suffix = TITLE_SUFFIX }); case HelpFormat.FormatType.Bold: return(new Data() { Begin = format.Position, Length = format.Length, Prefix = BOLD_PREFIX, Suffix = BOLD_SUFFIX }); case HelpFormat.FormatType.Underline: // NOTE(rafa): No support yet for underline, we use italic instead return(new Data() { Begin = format.Position, Length = format.Length, Prefix = ITALIC_PREFIX, Suffix = ITALIC_SUFFIX }); default: return(null); } }