Raxol.Terminal.Extension.ExtensionManager (Raxol Terminal v2.6.0)

Copy Markdown View Source

Manages terminal extensions, including loading, unloading, and executing extension commands.

Summary

Functions

Emits an event to all registered handlers.

Executes a command from an extension.

Gets an extension by ID.

Gets current metrics.

Lists all loaded extensions.

Loads an extension into the manager.

Creates a new extension manager.

Unloads an extension from the manager.

Updates configuration for an extension.

Types

extension()

@type extension() :: %{
  id: String.t(),
  name: String.t(),
  version: String.t(),
  config: map(),
  commands: map(),
  events: map(),
  state: any()
}

t()

@type t() :: %Raxol.Terminal.Extension.ExtensionManager{
  command_registry: map(),
  commands: term(),
  config: map(),
  event_handlers: map(),
  events: term(),
  extensions: map(),
  metrics: map()
}

Functions

emit_event(manager, event_name)

Emits an event to all registered handlers.

emit_event(manager, event_name, data)

execute_command(manager, command_name)

Executes a command from an extension.

execute_command(manager, command_name, params)

get_extension(manager, extension_id)

Gets an extension by ID.

get_metrics(manager)

Gets current metrics.

list_extensions(manager)

Lists all loaded extensions.

load_extension(manager, extension)

Loads an extension into the manager.

new()

Creates a new extension manager.

new(opts)

unload_extension(manager, extension_id)

Unloads an extension from the manager.

update_extension_config(manager, extension_id, config)

Updates configuration for an extension.