internal VisualBasicTextBufferClassifier(
     Dictionary <string, ClassificationInfo> classifications,
     IClassificationChangingService classificationChangingService,
     bool isEnable,
     IEditorChangingService editorChangingService,
     ITextDocumentFactoryService textDocumentFactoryService,
     ITextBuffer buffer) : base(isEnable, editorChangingService, textDocumentFactoryService, buffer)
 {
     _service = VisualBasicClassifierService.GetClassifier(classifications, classificationChangingService);
 }
Example #2
0
        private static RoslynTextBufferClassifier GetClassifier(
            ProgrammingLanguage language, IReadOnlyList <SimplifiedClassificationInfo> infos)
        {
            var dictionary          = infos?.ToDictionary(x => x.Name);
            var classificationTypes = new Dictionary <string, ClassificationInfo>(32);
            var names = language == ProgrammingLanguage.VisualBasic ? VisualBasicNames.All : CSharpNames.All;

            foreach (var name in names)
            {
                var option = dictionary is null || !dictionary.TryGetValue(name, out var simplifiedInfo)
                    ? ClassificationService.GetDefaultOption(name)
                    : simplifiedInfo;
                classificationTypes.Add(name, new ClassificationInfo(new ClassificationType(name), option));
            }

            if (language == ProgrammingLanguage.VisualBasic)
            {
                VisualBasicClassifierService.Reset();
                return(new VisualBasicTextBufferClassifier(classificationTypes));
            }

            CSharpClassifierService.Reset();
            return(new CSharpTextBufferClassifier(classificationTypes));
        }
 internal VisualBasicTextBufferClassifier(Dictionary <string, ClassificationInfo> classifications) : base()
 {
     _service = VisualBasicClassifierService.GetClassifier(classifications);
 }