コード例 #1
0
        public IClassifier GetClassifier(ITextBuffer textBuffer) {
            RdClassifier classifier = ServiceManager.GetService<RdClassifier>(textBuffer);
            if (classifier == null) {
                classifier = new RdClassifier(textBuffer, ClassificationRegistryService);
            }

            return classifier;
        }
コード例 #2
0
        public void ClassifyRContent()
        {
            string expected1 =
                @"[0:9] keyword
[9:1] RD Braces
[16:2] number
[19:1] number
[32:5] string";

            string expected2 =
                @"[0:9] keyword
[9:1] RD Braces
[16:2] number
[19:1] number
[32:6] string";

            string s1       = "\\examples{ x <- -9:9 plot(col = \"";
            string s2       = "red\")";
            string original = s1 + s2;

            TextBufferMock textBuffer = new TextBufferMock(original, RdContentTypeDefinition.ContentType);
            ClassificationTypeRegistryServiceMock ctrs = new ClassificationTypeRegistryServiceMock();
            RdClassifier cls = new RdClassifier(textBuffer, ctrs);

            IList <ClassificationSpan> spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            string actual = ClassificationWriter.WriteClassifications(spans);

            BaselineCompare.CompareStringLines(expected1, actual);

            textBuffer.Insert(s1.Length, "%");
            spans  = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected2, actual);

            textBuffer.Delete(new Span(s1.Length, 1));
            spans  = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected1, actual);
        }
コード例 #3
0
        public void ClassifyRContent() {
            string expected1 =
@"[0:9] keyword
[9:1] RD Braces
[16:2] number
[19:1] number
[32:5] string";

            string expected2 =
@"[0:9] keyword
[9:1] RD Braces
[16:2] number
[19:1] number
[32:6] string";

            string s1 = "\\examples{ x <- -9:9 plot(col = \"";
            string s2 = "red\")";
            string original = s1 + s2;

            TextBufferMock textBuffer = new TextBufferMock(original, RdContentTypeDefinition.ContentType);
            ClassificationTypeRegistryServiceMock ctrs = new ClassificationTypeRegistryServiceMock();
            RdClassifier cls = new RdClassifier(textBuffer, ctrs);

            IList<ClassificationSpan> spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            string actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected1, actual);

            textBuffer.Insert(s1.Length, "%");
            spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected2, actual);

            textBuffer.Delete(new Span(s1.Length, 1));
            spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected1, actual);
        }