/// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="def"></param>
 /// <param name="resolver"></param>
 public TranslateElementVisitor(XmlHighlightingThemeDefinition def,
                                IHighlightingThemeDefinitionReferenceResolver resolver)
 {
     Debug.Assert(def != null);
     Debug.Assert(resolver != null);
     this.def = def;
 }
Example #2
0
        /// <summary>
        /// Creates a highlighting definition from the XSHD file.
        /// </summary>
        public static IHighlightingThemeDefinition Load(XhstdThemeDefinition syntaxDefinition,
                                                        IHighlightingThemeDefinitionReferenceResolver resolver)
        {
            if (syntaxDefinition == null)
            {
                throw new ArgumentNullException("syntaxDefinition");
            }

            return(new XmlHighlightingThemeDefinition(syntaxDefinition, resolver));
        }
        /// <summary>
        /// Class constructor
        /// </summary>
        public XmlHighlightingThemeDefinition(XhstdThemeDefinition xshtd,
                                              IHighlightingThemeDefinitionReferenceResolver resolver)
            : this()
        {
            // Create HighlightingRuleSet instances
            xshtd.AcceptVisitor(new RegisterNamedElementsVisitor(this));

            // Translate elements within the rulesets (resolving references and processing imports)
            xshtd.AcceptVisitor(new TranslateElementVisitor(this, resolver));

            _xshtd = xshtd;
        }
Example #4
0
 /// <summary>
 /// Class constructor for derived highlighting themes.
 ///
 /// Derived highlighting themes have a base highlighting (eg 'Light')
 /// and an 'overwritting' highlighting themes definition using an xshTd file resource.
 /// </summary>
 /// <param name="paramKey"></param>
 /// <param name="paramHLBaseKey"></param>
 /// <param name="paramDisplayName"></param>
 /// <param name="paramHLThemePrefix"></param>
 /// <param name="paramHLThemeName"></param>
 /// <param name="themeResolver"></param>
 public HLTheme(string paramKey,
                string paramHLBaseKey,
                string paramDisplayName,
                string paramHLThemePrefix, string paramHLThemeName,
                IHighlightingThemeDefinitionReferenceResolver themeResolver)
     : this()
 {
     Key             = paramKey;
     HLBaseKey       = paramHLBaseKey;
     HLThemePrefix   = paramHLThemePrefix;
     HLThemeFileName = paramHLThemeName;
     hLThemeResolver = themeResolver;
     DisplayName     = paramDisplayName;
 }
Example #5
0
 /// <summary>
 /// Creates a highlighting definition from the XSHD file.
 /// </summary>
 public static IHighlightingThemeDefinition Load(XmlReader reader,
                                                 IHighlightingThemeDefinitionReferenceResolver resolver)
 {
     return(Load(LoadXshd(reader), resolver));
 }