private void ResetUserKeywords(IUserKeywords userKeywords) { this.userKeywords.Clear(); foreach (var word in userKeywords.UserKeywordArray1) { this.userKeywords[word] = UserKeyword1; } foreach (var word in userKeywords.UserKeywordArray2) { this.userKeywords[word] = UserKeyword2; } }
public GlslClassifierProvider(IClassificationTypeRegistryService classificationTypeRegistry, ILogger logger, IUserKeywords userKeywords) { if (classificationTypeRegistry is null) { throw new System.ArgumentNullException(nameof(classificationTypeRegistry)); } if (userKeywords is null) { throw new System.ArgumentNullException(nameof(userKeywords)); } this.logger = logger ?? throw new System.ArgumentNullException(nameof(logger)); parser = new SyntaxColorParser(classificationTypeRegistry, userKeywords); }
public SyntaxColorParser(IClassificationTypeRegistryService classificationTypeRegistry, IUserKeywords userKeywords) { if (classificationTypeRegistry is null) { throw new System.ArgumentNullException(nameof(classificationTypeRegistry)); } if (userKeywords is null) { throw new System.ArgumentNullException(nameof(userKeywords)); } Comment = classificationTypeRegistry.GetClassificationType(PredefinedClassificationTypeNames.Comment); Identifier = classificationTypeRegistry.GetClassificationType(PredefinedClassificationTypeNames.Identifier); Number = classificationTypeRegistry.GetClassificationType(PredefinedClassificationTypeNames.Number); Operator = classificationTypeRegistry.GetClassificationType(PredefinedClassificationTypeNames.Operator); QuotedString = classificationTypeRegistry.GetClassificationType(PredefinedClassificationTypeNames.String); PreprocessorKeyword = classificationTypeRegistry.GetClassificationType(PredefinedClassificationTypeNames.PreprocessorKeyword); Function = classificationTypeRegistry.GetClassificationType(GlslClassificationTypes.Function); Keyword = classificationTypeRegistry.GetClassificationType(GlslClassificationTypes.Keyword); UserKeyword1 = classificationTypeRegistry.GetClassificationType(GlslClassificationTypes.UserKeyword1); UserKeyword2 = classificationTypeRegistry.GetClassificationType(GlslClassificationTypes.UserKeyword2); Variable = classificationTypeRegistry.GetClassificationType(GlslClassificationTypes.Variable); parser = new GlslParser(); userKeywords.PropertyChanged += (s, a) => { ResetUserKeywords(userKeywords); Changed?.Invoke(this); }; ResetUserKeywords(userKeywords); }