private static void RegisterConfigurableSeverity( HighlightingSettingsManager highlightManager, string highlightId, string groupName, string ruleName, string description, Severity defaultSeverity) { FieldInfo allConfigurableSeverityItems = highlightManager.GetType().GetField("myConfigurableSeverityItem", BindingFlags.Instance | BindingFlags.NonPublic); if (allConfigurableSeverityItems != null) { Dictionary <string, HighlightingSettingsManager.ConfigurableSeverityItem> configurableSeverityItems = allConfigurableSeverityItems.GetValue(highlightManager) as Dictionary <string, HighlightingSettingsManager.ConfigurableSeverityItem>; if (configurableSeverityItems != null) { if (!configurableSeverityItems.ContainsKey(highlightId)) { HighlightingSettingsManager.ConfigurableSeverityItem item = new HighlightingSettingsManager.ConfigurableSeverityItem( highlightId, null, groupName, ruleName, description, defaultSeverity, false, false); configurableSeverityItems.Add(highlightId, item); } } } FieldInfo configurableSeverityImplementation = highlightManager.GetType() .GetField( "myConfigurableSeverityImplementation", BindingFlags.Instance | BindingFlags.NonPublic); if (configurableSeverityImplementation != null) { JB::JetBrains.Util.OneToListMap <string, PsiLanguageType> mapToLanguage = configurableSeverityImplementation.GetValue(highlightManager) as JB::JetBrains.Util.OneToListMap <string, PsiLanguageType>; if (mapToLanguage != null) { if (!mapToLanguage.ContainsKey(highlightId)) { PsiLanguageType languageType = Languages.Instance.GetLanguageByName("CSHARP"); mapToLanguage.Add(highlightId, languageType); } } } }
private static void RegisterConfigurableGroup(HighlightingSettingsManager highlightManager, string groupId, string groupName) { HighlightingSettingsManager.ConfigurableGroupDescriptor item = new HighlightingSettingsManager.ConfigurableGroupDescriptor(groupId, groupName); FieldInfo field = highlightManager.GetType().GetField("myConfigurableGroups", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { Dictionary <string, HighlightingSettingsManager.ConfigurableGroupDescriptor> items = field.GetValue(highlightManager) as Dictionary <string, HighlightingSettingsManager.ConfigurableGroupDescriptor>; if (items != null) { items.Add(groupId, item); } } }
private static void RegisterConfigurableSeverity( HighlightingSettingsManager highlightManager, string highlightId, string groupName, string ruleName, string description, Severity defaultSeverity) { HighlightingSettingsManager.ConfigurableSeverityItem item = new HighlightingSettingsManager.ConfigurableSeverityItem( highlightId, null, groupName, ruleName, description, defaultSeverity, false, false); FieldInfo field = highlightManager.GetType().GetField("myConfigurableSeverityItem", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { Dictionary <string, HighlightingSettingsManager.ConfigurableSeverityItem> items = field.GetValue(highlightManager) as Dictionary <string, HighlightingSettingsManager.ConfigurableSeverityItem>; if (items != null) { if (!items.ContainsKey(highlightId)) { items.Add(highlightId, item); } } } }
private static void RegisterConfigurableSeverity( HighlightingSettingsManager highlightManager, string highlightId, string groupName, string ruleName, string description, Severity defaultSeverity) { // TODO: This can be implemented with ICustomConfigurableSeverityItemProvider FieldInfo allConfigurableSeverityItems = highlightManager.GetType().GetField("myConfigurableSeverityItem", BindingFlags.Instance | BindingFlags.NonPublic); if (allConfigurableSeverityItems != null) { Dictionary<string, ConfigurableSeverityItem> configurableSeverityItems = allConfigurableSeverityItems.GetValue(highlightManager) as Dictionary<string, ConfigurableSeverityItem>; if (configurableSeverityItems != null) { if (!configurableSeverityItems.ContainsKey(highlightId)) { ConfigurableSeverityItem item = new ConfigurableSeverityItem(highlightId, null, groupName, ruleName, description, defaultSeverity, false, false, null); configurableSeverityItems.Add(highlightId, item); } } } FieldInfo configurableSeverityImplementation = highlightManager.GetType() .GetField( "myConfigurableSeverityImplementation", BindingFlags.Instance | BindingFlags.NonPublic); if (configurableSeverityImplementation != null) { JetBrains.Util.OneToListMap<string, PsiLanguageType> mapToLanguage = configurableSeverityImplementation.GetValue(highlightManager) as JetBrains.Util.OneToListMap<string, PsiLanguageType>; if (mapToLanguage != null) { if (!mapToLanguage.ContainsKey(highlightId)) { PsiLanguageType languageType = Languages.Instance.GetLanguageByName("CSHARP"); mapToLanguage.Add(highlightId, languageType); } } } }
private static void RegisterConfigurableGroup(HighlightingSettingsManager highlightManager, string groupId, string groupName) { HighlightingSettingsManager.ConfigurableGroupDescriptor item = new HighlightingSettingsManager.ConfigurableGroupDescriptor(groupId, groupName); // TODO: WTF!? Reflection. Oh boy. FieldInfo field = highlightManager.GetType().GetField("myConfigurableGroups", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { Dictionary<string, HighlightingSettingsManager.ConfigurableGroupDescriptor> items = field.GetValue(highlightManager) as Dictionary<string, HighlightingSettingsManager.ConfigurableGroupDescriptor>; if (items != null) { if (!items.ContainsKey(groupId)) { items.Add(groupId, item); } } } }
private static void RegisterConfigurableSeverity( HighlightingSettingsManager highlightManager, string highlightId, string groupName, string ruleName, string description, Severity defaultSeverity) { HighlightingSettingsManager.ConfigurableSeverityItem item = new HighlightingSettingsManager.ConfigurableSeverityItem( highlightId, null, groupName, ruleName, description, defaultSeverity, false, false); FieldInfo field = highlightManager.GetType().GetField("myConfigurableSeverityItem", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { Dictionary<string, HighlightingSettingsManager.ConfigurableSeverityItem> items = field.GetValue(highlightManager) as Dictionary<string, HighlightingSettingsManager.ConfigurableSeverityItem>; if (items != null) { if (!items.ContainsKey(highlightId)) { items.Add(highlightId, item); } } } }