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

Gets the collection of IClassificationType objects that have been registered.

public ICollection<IClassificationType> ClassificationTypes { get; }

Property Value

ICollection<IClassificationType>:

The collection of IClassificationType objects that have been registered.

Count

Gets the number of entries in the registry.

public int Count { get; }

Property Value

int:

The number of entries in the registry.

CurrentColorPalette

Gets or sets the current palette of colors available for use with IHighlightingStyle objects in the registry.

public IHighlightingStyleColorPalette CurrentColorPalette { get; set; }

Property Value

IHighlightingStyleColorPalette:

A IHighlightingStyleColorPalette object.

Remarks

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

DarkColorPalette

Gets or sets 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:

A IHighlightingStyleColorPalette object.

See Also

Description

Gets or sets the description of the registry.

public string Description { get; set; }

Property Value

string:

The description of the registry.

HighlightingStyles

Gets the collection of IHighlightingStyle objects that have been registered.

public ICollection<IHighlightingStyle> HighlightingStyles { get; }

Property Value

ICollection<IHighlightingStyle>:

The collection of IHighlightingStyle objects that have been registered.

this[IClassificationType]

Gets the IHighlightingStyle registered with the specified IClassificationType.

[C#] In C#, this property is the indexer for the IHighlightingStyleRegistry interface.

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

The IClassificationType for which to search.

Property Value

IHighlightingStyle:

The IHighlightingStyle registered with the specified IClassificationType.

LightColorPalette

Gets or sets 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

Gets or sets the opacity to use for unused region foregrounds.

public double UnusedRegionForegroundOpacity { get; set; }

Property Value

double:

The opacity to use for unused region foregrounds. The default value is 0.7.

Methods

GetClassificationType(string)

Returns 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:

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

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)

Attempts to adds an IHighlightingStyle for the specified IClassificationType into the registry, as long as there is no existing IHighlightingStyle registered with the same IClassificationType.

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

The IClassificationType with which to register the IHighlightingStyle.

style IHighlightingStyle

The IHighlightingStyle to register.

Returns

bool:

true if the IHighlightingStyle was added; otherwise, false.

Remarks

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

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)
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