Raxol.Plugins.PluginManager (Raxol v0.3.0)

View Source

Manages plugins for the Raxol terminal emulator. Handles plugin loading, lifecycle management, and event dispatching.

Summary

Functions

Types

t()

@type t() :: %Raxol.Plugins.PluginManager{
  api_version: String.t(),
  config: Raxol.Plugins.PluginConfig.t(),
  plugins: %{required(String.t()) => Raxol.Plugins.Plugin.t()}
}

Functions

broadcast_event(manager, event)

See Raxol.Plugins.Manager.Events.broadcast_event/2.

collect_cell_commands(manager)

See Raxol.Plugins.Manager.Cells.collect_cell_commands/1.

disable_plugin(manager, name)

See Raxol.Plugins.Manager.State.disable_plugin/2.

enable_plugin(manager, name)

See Raxol.Plugins.Manager.State.enable_plugin/2.

get_api_version(manager)

See Raxol.Plugins.Manager.Core.get_api_version/1.

get_plugin(manager, name)

See Raxol.Plugins.Manager.Core.get_plugin/2.

handle_cells(manager, cells, emulator_state)

See Raxol.Plugins.Manager.Cells.handle_cells/3.

handle_mouse_event(manager, event, rendered_cells)

See Raxol.Plugins.Manager.Events.handle_mouse_event/3.

handle_resize(manager, width, height)

See Raxol.Plugins.Manager.Events.handle_resize/3.

list_plugins(manager)

See Raxol.Plugins.Manager.Core.list_plugins/1.

load_plugin(manager, module, config \\ %{})

See Raxol.Plugins.Manager.State.load_plugin/3.

load_plugins(manager, modules)

See Raxol.Plugins.Manager.State.load_plugins/2.

new(config \\ %{})

See Raxol.Plugins.Manager.Core.new/1.

process_cell(manager, cell, emulator_state)

See Raxol.Plugins.Manager.Cells.process_cell/3.

process_input(manager, input)

See Raxol.Plugins.Manager.Events.process_input/2.

process_mouse(manager, event, emulator_state)

See Raxol.Plugins.Manager.Events.process_mouse/3.

process_output(manager, output)

See Raxol.Plugins.Manager.Events.process_output/2.

run_hook(manager, hook_name, args \\ [])

See Raxol.Plugins.Manager.Hooks.run_hook/3.

run_render_hooks(manager)

See Raxol.Plugins.Manager.Hooks.run_render_hooks/1.

unload_plugin(manager, name)

See Raxol.Plugins.Manager.State.unload_plugin/2.

update_plugin(manager, name, update_fun)

See Raxol.Plugins.Manager.State.update_plugin/3.