In This Article

HighlightingStyleRegistry Class

Represents a registry of IClassificationType to IHighlightingStyle mapping data.

public class HighlightingStyleRegistry : IHighlightingStyleRegistry, IClassificationTypeRegistry
Inheritance:
object object
Derived:
AmbientHighlightingStyleRegistry
Implements:
IHighlightingStyleRegistry IClassificationTypeRegistry

Constructors

HighlightingStyleRegistry()

Initializes an instance of the class.

public HighlightingStyleRegistry()

Properties

ClassificationTypes

The collection of IClassificationType objects that have been registered.

public ICollection<IClassificationType> ClassificationTypes { get; }

Property Value

ICollection<IClassificationType>

Count

The number of entries in the registry.

public int Count { get; }

Property Value

int

CurrentColorPalette

The current palette of colors available for use with IHighlightingStyle objects in the registry.

public IHighlightingStyleColorPalette CurrentColorPalette { get; set; }

Property Value

IHighlightingStyleColorPalette

Remarks

The value of this property is typically alternated between the LightColorPalette and DarkColorPalette but does not have to match either instance.

DarkColorPalette

The palette of colors available for use with IHighlightingStyle objects in the registry when a dark theme is active.

public IHighlightingStyleColorPalette DarkColorPalette { get; set; }

Property Value

IHighlightingStyleColorPalette

See Also

Description

The description of the registry.

public string? Description { get; set; }

Property Value

string

HighlightingStyles

The collection of IHighlightingStyle objects that have been registered.

public ICollection<IHighlightingStyle> HighlightingStyles { get; }

Property Value

ICollection<IHighlightingStyle>

this[IClassificationType]

The IHighlightingStyle registered with the specified IClassificationType, if any.

public IHighlightingStyle? this[IClassificationType classificationType] { get; }
Parameter Type Description
classificationType IClassificationType

The IClassificationType for which to search.

Property Value

IHighlightingStyle

LightColorPalette

The palette of colors available for use with IHighlightingStyle objects in the registry when a light theme is active.

public IHighlightingStyleColorPalette LightColorPalette { get; set; }

Property Value

IHighlightingStyleColorPalette:

A IHighlightingStyleColorPalette object.

See Also

UnusedRegionForegroundOpacity

The opacity to use for unused region foregrounds.

public double UnusedRegionForegroundOpacity { get; set; }

Property Value

double:

The default value is 0.7.

Methods

GetClassificationType(string)

The IClassificationType, if any, that has been registered with the specified key.

public IClassificationType? GetClassificationType(string key)
Parameter Type Description
key string

The key for which to search.

Returns

IClassificationType

GetEnumerator()

Retrieves an IEnumerator object for the entire collection.

public IEnumerator<KeyValuePair<IClassificationType, IHighlightingStyle>> GetEnumerator()

Returns

IEnumerator<KeyValuePair<IClassificationType, IHighlightingStyle>>:

An IEnumerator object for the entire collection

Remarks

Enumerators are intended to be used only to read data in the collection. Enumerators cannot be used to modify the underlying collection.

The enumerator does not have exclusive access to the collection.

When an enumerator is instantiated, it takes a snapshot of the current state of the collection. If changes are made to the collection, such as adding, modifying or deleting elements, the snapshot gets out of sync and the enumerator throws an InvalidOperationException. Two enumerators instantiated from the same collection at the same time can have different snapshots of the collection.

ImportHighlightingStyles(Stream)

Imports style settings from the specified Stream, containing XML.

public bool ImportHighlightingStyles(Stream stream)
Parameter Type Description
stream Stream

The Stream from which to import.

Returns

bool:

true if settings were imported; otherwise, false.

OnChanged(EventArgs)

Raises the Changed event.

protected virtual void OnChanged(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

Register(IClassificationType, IHighlightingStyle, bool)

Adds an IHighlightingStyle into the registry, optionally overwriting any existing IHighlightingStyle registered with the same IClassificationType.

public bool Register(IClassificationType classificationType, IHighlightingStyle style, bool overwriteExisting = false)
Parameter Type Description
classificationType IClassificationType

The IClassificationType with which to register the IHighlightingStyle.

style IHighlightingStyle

The IHighlightingStyle to register.

overwriteExisting bool

Whether to overwrite existing highlighting styles with the same IClassificationType.

Returns

bool:

true if the IHighlightingStyle was added; otherwise, false.

Remarks

This method only returns false if overwriteExisting is false and there is already an IHighlightingStyle registered with the same IClassificationType.

Unregister(IClassificationType)

Removes a registry entry with the specified IClassificationType from the registry and removes the corresponding colors from the color palettes.

public bool Unregister(IClassificationType classificationType)
Parameter Type Description
classificationType IClassificationType

The IClassificationType to unregister.

Returns

bool:

true if the registry entry was removed; otherwise, false.

Unregister(IClassificationType, bool)

Removes a registry entry with the specified IClassificationType from the registry with the option to also clear the corresponding colors from the LightColorPalette and DarkColorPalette.

public bool Unregister(IClassificationType classificationType, bool keepColorPalettes)
Parameter Type Description
classificationType IClassificationType

The IClassificationType to unregister.

keepColorPalettes bool

true to keep the corresponding colors in the color palettes; otherwise false to remove them.

Returns

bool:

true if the registry entry was removed; otherwise, false.

Events

Changed

Occurs after a change has occurred to the items in the registry.

public event EventHandler? Changed

Event Type

EventHandler

Inherited Members

Extension Methods