Back to API Reference
Class

MutableRangeSource

sealed
Inherits:RangeSource

Runtime-owned range source for search results, diagnostics, annotations and other externally produced ranges. Changes become visible through atomic transactions.

public string Identity{ get }

Stable configuration identity used by tooling. Runtime entity identity still uses this source instance's RuntimeId.

public int Count{ get }

Number of committed logical range entities.

public RangeEntity[] CaptureEntities()

Copies the currently committed entity snapshot for inspection or event correlation.

public bool TryGetEntity()

Gets one committed entity by its source-local identity.

public void SetIdentity()

Sets the tooling identity without changing existing entity identifiers.

public MutableRangeUpdate BeginUpdate()

Begins an isolated update against revision. Commit fails if text or this source changed after the transaction began.

public MutableRangeUpdate BeginUpdate()

Begins an update against an immutable snapshot captured from the owner.

public void SetRanges()

Replaces all entities with single-segment ranges in one notification.

protected override void CollectRanges()
protected override void OnSnapshotChanged()