Packages
Multi-surface application runtime for Elixir. One TEA module renders to terminal, browser (LiveView), SSH, and MCP (agents). 30+ widgets, flexbox + CSS grid, AI agent runtime, distributed swarm with CRDTs, time-travel debugging, session recording, sandboxed REPL, and agentic commerce.
Current section
Files
Jump to
Current section
Files
lib/raxol/terminal/split/common.ex
defmodule Raxol.Terminal.Split.Common do
@moduledoc """
Common utilities and shared logic for terminal split modules.
"""
@doc """
Common start_link logic for split-related GenServers.
"""
def start_link(module, opts \\ []) do
opts = if is_map(opts), do: Enum.into(opts, []), else: opts
name =
if Mix.env() == :test do
Raxol.Test.ProcessNaming.unique_name(module, opts)
else
Keyword.get(opts, :name, module)
end
GenServer.start_link(module, opts, name: name)
end
end