Extension-only registry for declarative runtime editor callbacks.
Registration derives the extension source from lifecycle ownership and checks callback modules against the source's admitted artifact inventory. Core and config callbacks are intentionally not stored here; they execute directly in the layer that owns them.
Summary
Types
A callback returned in deterministic dispatch order.
Runtime editor callback category available to extensions.
Options reserved for lifecycle-owned extension registration.
Named registry process and ETS table.
An extension source that owns a registered callback.
Functions
Returns extension callbacks for a family in deterministic priority order.
Returns one extension source's callbacks in deterministic priority order.
Returns a specification to start this module under a supervisor.
Returns the production registry table name.
Starts a callback registry and its protected ETS table.
Removes every callback owned by an extension source.
Types
A callback returned in deterministic dispatch order.
@type family() :: :buffer_saved | :editor_action | :source_unload
Runtime editor callback category available to extensions.
@type lifecycle_opts() :: [ registry: registry(), artifact_admission: GenServer.server() ]
Options reserved for lifecycle-owned extension registration.
@type registry() :: atom()
Named registry process and ETS table.
@type source() :: {:extension, atom()}
An extension source that owns a registered callback.
Functions
Returns extension callbacks for a family in deterministic priority order.
Returns one extension source's callbacks in deterministic priority order.
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec default_table() :: registry()
Returns the production registry table name.
@spec start_link(keyword()) :: GenServer.on_start()
Starts a callback registry and its protected ETS table.
Removes every callback owned by an extension source.