Raxol.UI.Components.CodeBlock (Raxol v0.4.0)

View Source

Renders a block of code with syntax highlighting.

Requires the makeup_elixir dependency (and potentially other lexers). Uses HTML output from Makeup.

Summary

Functions

Handles events for the component. No events are handled by default.

Initializes the component state from props.

Renders the code block.

Updates the component state. No updates are handled by default.

Functions

broadcast(msg)

command(cmd)

handle_event(event, state, context)

@spec handle_event(term(), map(), map()) :: {map(), list()}

Handles events for the component. No events are handled by default.

init(props)

@spec init(map()) :: map()

Initializes the component state from props.

mount(state)

Callback implementation for Raxol.UI.Components.Base.Component.mount/1.

render(state, context)

@spec render(map(), map()) :: any()

Renders the code block.

Props:

  • content (required): The source code string.
  • language (required): The language name (e.g., "elixir", "html").
  • style: The Makeup HTML style module (e.g., Makeup.Styles.GithubLight). Defaults to :github_light style lookup.
  • class: Optional CSS class for the outer pre tag.

schedule(msg, delay)

unmount(state)

Callback implementation for Raxol.UI.Components.Base.Component.unmount/1.

update(message, state)

@spec update(term(), map()) :: map()

Updates the component state. No updates are handled by default.