コード例 #1
0
 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;
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }