Exemple #1
0
        private static Run CreateRun(TaggedText text)
        {
            var run = new Run(text.ToString());
            var classificationTypeName = ClassificationTags.GetClassificationTypeName(text.Tag);

            run.Foreground = new SolidColorBrush(CodeHighlightColors.GetColor(classificationTypeName));
            return(run);
        }
Exemple #2
0
            public static Run GetRun(TaggedText part, IClassificationFormatMap formatMap, ClassificationTypeMap typeMap)
            {
                var text = GetVisibleDisplayString(part, includeLeftToRightMarker: true);

                var run = new Run(text);

                var format = formatMap.GetTextProperties(
                    typeMap.GetClassificationType(ClassificationTags.GetClassificationTypeName(part.Tag)));

                run.SetTextProperties(format);

                return(run);
            }
Exemple #3
0
            private static string GetVisibleDisplayString(TaggedText part, bool includeLeftToRightMarker)
            {
                var text = part.Text;

                if (includeLeftToRightMarker)
                {
                    var classificationTypeName = ClassificationTags.GetClassificationTypeName(part.Tag);
                    if (classificationTypeName == ClassificationTypeNames.Punctuation ||
                        classificationTypeName == ClassificationTypeNames.WhiteSpace)
                    {
                        text = LeftToRightMarkerPrefix + text;
                    }
                }

                return(text);
            }
Exemple #4
0
            private static IList <ClassificationSpan> GetClassificationSpans(
                IEnumerable <TaggedText> parts,
                ITextSnapshot textSnapshot,
                ClassificationTypeMap typeMap)
            {
                var result = new List <ClassificationSpan>();

                var index = 0;

                foreach (var part in parts)
                {
                    var text = part.ToString();
                    result.Add(new ClassificationSpan(
                                   new SnapshotSpan(textSnapshot, new Microsoft.VisualStudio.Text.Span(index, text.Length)),
                                   typeMap.GetClassificationType(ClassificationTags.GetClassificationTypeName(part.Tag))));

                    index += text.Length;
                }

                return(result);
            }