Raxol.Core.Runtime.Lifecycle.Initializer (Raxol v2.6.0)

View Source

Component startup sequence for the Raxol application lifecycle. Extracted from Lifecycle to reduce file size.

Summary

Functions

Detects actual terminal size, falling back to options then 80x24.

Initializes all components in order: registry table, plugin manager, app model, dispatcher, terminal driver, rendering engine. Returns {:ok, registry_table, pm_pid, model, dispatcher_pid, driver_pid, engine_pid} or {:error, reason, cleanup_fun}.

Starts the CodeReloader in dev mode; returns nil otherwise.

Functions

detect_terminal_size(options)

Detects actual terminal size, falling back to options then 80x24.

initialize_all(app_module, options)

Initializes all components in order: registry table, plugin manager, app model, dispatcher, terminal driver, rendering engine. Returns {:ok, registry_table, pm_pid, model, dispatcher_pid, driver_pid, engine_pid} or {:error, reason, cleanup_fun}.

maybe_start_code_reloader(lifecycle_pid)

Starts the CodeReloader in dev mode; returns nil otherwise.