API Reference Raxol v0.2.0

View Source

Modules

Raxol is a feature-rich terminal UI framework for Elixir.

Content generation capabilities for Raxol applications.

Runtime AI features for intelligent performance optimization.

The Accounts context. Manages user accounts and registration. (Currently uses an in-memory Agent for storage)

Provides easing functions for animations.

A general-purpose animation framework for Raxol terminal UI applications.

Gesture-driven interactions for Raxol animations.

Force field implementation for physics simulations.

Physics engine for Raxol animations.

3D vector implementation for physics simulations.

Authentication module for handling user authentication and authorization.

Permission schema for role-based access control.

Plug for handling authentication and authorization.

Role schema for role-based access control.

User schema for authentication and authorization.

Performance benchmarking and validation tools for Raxol.

Animation performance benchmark functions for Raxol.

Event handling performance benchmark functions for Raxol.

Memory usage performance benchmark functions for Raxol.

Rendering performance benchmark functions for Raxol.

Reporting functions (saving, printing) for Raxol performance benchmarks.

Validation functions for Raxol performance benchmarks.

Performance benchmarking tool for visualization components. Provides tools to measure rendering time, memory usage, and optimization effectiveness for different data sizes and visualization types.

A realistic benchmark tool for visualization components with progressive data sizes. Tests the performance impact of our optimizations on various dataset sizes.

A simplified benchmark tool for visualization components, without external dependencies. This is designed for direct testing during development without requiring the full application.

CLI command for managing Raxol updates.

Cloud integration system for Raxol applications.

Configuration management for Raxol cloud integrations.

Core functionality for Raxol cloud integrations.

Edge computing support for Raxol applications.

Cloud integration utilities for Raxol applications.

Cloud monitoring system for Raxol applications.

Centralized state management for Raxol cloud components.

Provides base functionality and utilities for Raxol components.

A customizable button component.

A component responsible for rendering a grid-based dashboard layout. Manages widget placement, drag/drop, and resizing.

State for the Dashboard component.

Calculates layout bounds for widgets within a grid configuration. This module provides functions to determine the position and size of widgets based on a grid layout definition (columns, rows, gaps).

Handles saving and loading dashboard widget layouts to disk.

A container component for dashboard widgets. Provides a frame, title bar (optional), and potentially drag/resize handles. Renders the actual widget content passed to it.

A dashboard widget that displays a chart using Raxol.Components.Visualization.Chart. This module is responsible for holding the chart's state (data, config) and providing a data structure for rendering, rather than rendering directly.

A dashboard widget that displays simple text information.

A dashboard widget that displays a treemap using Raxol.Components.Visualization.TreeMap. This module is responsible for holding the treemap's state (data, config) and providing a data structure for rendering, rather than rendering directly.

Handles drawing the focus ring around focused components.

Displays contextual hints and keyboard shortcuts.

A multi-line input component with line wrapping, vertical scrolling, and text manipulation.

Helper functions for clipboard interactions (copy/cut/paste) in MultiLineInput.

Handles key and mouse events for MultiLineInput, translating them into update messages.

Helper functions for cursor navigation and text selection in MultiLineInput.

Helper functions for rendering lines, cursors, and selections in MultiLineInput.

Helper functions for text and line manipulation in MultiLineInput.

A simple single-line text input component.

A text input component for single-line text entry.

Utility functions for text wrapping.

A modal component for displaying overlay dialogs like alerts, prompts, confirmations.

Provides components for displaying progress, like progress bars and spinners.

A component to display a progress bar.

A spinner component that provides animated loading indicators.

A dropdown component that allows selecting one option from a list.

A component for displaying a selectable list of items.

A tab bar component for Raxol.

Renders data in a tabular format with optional headers, sorting, and pagination.

A terminal component that emulates a standard terminal within the UI.

Terminal emulator component wrapping the core emulator logic.

A text input component with editing capabilities.

Accessibility module for Raxol terminal UI applications.

Mock implementation for Raxol.Core.Accessibility.

Manages the integration between accessibility settings and the active theme.

Provides access to the application's color palette, considering the current theme and accessibility settings (like high contrast mode).

Handles clipboard operations for the Raxol application.

Defines the structure for events in the Raxol system, providing a standardized format for key presses, mouse actions, and other UI events that components need to process.

Event manager for handling and dispatching events in Raxol applications.

Provides helpers for managing event subscriptions.

Converts rrex_termbox v2.0.1 NIF events to Raxol.Core.Events.Event structs.

Focus management system for Raxol terminal UI applications.

Internationalization framework for Raxol terminal UI applications.

Provides functions for generating unique identifiers.

Keyboard navigation handler for Raxol terminal UI applications.

Keyboard shortcuts manager for Raxol applications.

Handles AI-based analysis of performance metrics and generates optimization recommendations. This module integrates with an AI agent to provide deep insights and actionable suggestions.

Analyzes performance metrics and generates insights for AI analysis.

Detects UI jank by analyzing frame timing.

Collects and calculates performance metrics.

Performance monitoring system for Raxol applications.

Core plugin responsible for handling clipboard operations (:clipboard_write, :clipboard_read).

Core plugin responsible for handling notifications (:notify).

Handles persistence (loading/saving) of user preferences to a file.

Handles storage and retrieval of user preferences.

Manages terminal buffer rendering with double buffering and damage tracking.

Provides comprehensive color support for terminal rendering.

Defines the core element structure for the rendering system.

Manages the rendering system for Raxol applications.

Defines the view system for Raxol components.

Chart view component for data visualization.

Table view component for displaying tabular data.

Defines the behaviour for Raxol applications following The Elm Architecture (TEA).

Provides a way to handle side effects in a pure functional way.

Manages component lifecycle and state in the Raxol runtime system.

Simple logging wrapper for the runtime.

Behaviour for implementing custom event sources for subscriptions.

Handles conversion between different event formats in the Raxol system.

Manages the application state (model) and dispatches events to the application's update/2 function. It also handles commands returned by update/2.

Manages event handlers registration and execution in the Raxol system.

Handles keyboard event processing in the Raxol system.

Manages the application lifecycle, including startup, shutdown, and terminal interaction.

Public API for Raxol plugins to interact with the core system.

Handles plugin command registration and dispatch for the Plugin Manager.

Manages commands registered by plugins using an ETS table.

Handles registration and execution of commands provided by plugins.

Handles plugin lifecycle operations (loading, unloading, reloading) for the Plugin Manager.

Placeholder for the plugin loader. Handles loading plugin code and dependencies.

Manages the loading, initialization, and lifecycle of plugins in the Raxol runtime.

Defines the behaviour for Raxol plugins.

Defines the behaviour for plugins that provide metadata like ID, version, and dependencies.

Placeholder for the plugin registry. Manages information about loaded plugins.

Provides a screen buffer implementation for efficient rendering in Raxol applications.

Provides the core rendering functionality for Raxol applications.

Manages the rendering schedule based on frame rate.

Provides a way to subscribe to recurring updates and external events.

Supervises the core runtime processes of a Raxol application.

User experience refinement module for the Raxol terminal UI.

Manages user preferences for the Raxol application.

Internal state for the UserPreferences GenServer.

Provides a safe interface for database operations.

Manages database connections and provides retry logic for Postgres errors.

Visual component catalog for Raxol documentation.

Interactive tutorial system for Raxol documentation.

A dynamic supervisor for dynamically starting Raxol application processes.

Demo of accessibility features in Raxol. (Refactored to use Application behaviour)

A sample button component that demonstrates various testable features.

Demonstrates the color system capabilities using the Application behaviour.

A sample form component that demonstrates parent-child interactions.

An integrated demo showcasing Raxol's accessibility features working together with color system, animation framework, and internationalization.

Demonstrates the Table component using the Application behaviour.

Demo example showcasing the User Experience Refinement components.

Handles collection and management of system metrics.

Collects and stores performance metrics for the Raxol event system. Works in conjunction with the Visualizer module to provide insights into system performance.

Provides visualization capabilities for Raxol performance metrics. Uses Contex to generate charts and graphs for various performance indicators.

Plugin for clipboard operations in Raxol.

Plugin that detects URLs in terminal output and makes them clickable.

Plugin that enables displaying images in the terminal using the iTerm2 image protocol. Supports various image formats and provides options for image display.

Plugin that provides terminal notifications with configurable styles and behaviors.

Defines the behavior for Raxol terminal emulator plugins. Plugins can extend the terminal's functionality by implementing this behavior.

Handles persistence of plugin configurations. Stores and loads plugin configurations from disk.

Handles plugin dependency resolution and version compatibility checks.

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

Plugin for text search functionality.

Plugin that manages terminal themes and color schemes. Allows users to apply predefined themes or create custom color schemes.

Handles rendering logic for chart visualizations within the VisualizationPlugin.

Utility functions for drawing basic shapes and text onto a cell grid. Used by visualization renderers.

Handles rendering logic for image placeholders within the VisualizationPlugin. Currently provides a text placeholder, but intended for protocols like sixel or kitty.

Handles rendering logic for treemap visualizations within the VisualizationPlugin. Uses a squarified layout algorithm.

Plugin responsible for rendering visualization components like charts and treemaps. It receives data structures from the view rendering pipeline and outputs actual terminal cells.

Handles layout calculations for UI elements.

The main supervisor for the Raxol application runtime. Manages core processes like Dispatcher, PluginManager, etc.

Session management module for handling terminal sessions.

Defines style properties for terminal UI elements.

Defines border properties for terminal UI elements.

Provides utilities for color accessibility, focusing on WCAG contrast.

Detects terminal capabilities and adapts color schemes accordingly.

Provides advanced color handling capabilities for the terminal.

Represents a color in various formats with conversion utilities. Supports ANSI 16/256 colors and True Color (24-bit).

Creates and manages color gradients for terminal applications.

Provides functions for HSL color space conversions and adjustments.

Provides functions for generating color harmonies based on a base color.

Provides hot-reloading capabilities for color themes.

Manages collections of related colors as palettes. Provides standard palettes and custom palette creation.

Manages color palettes for the Raxol terminal emulator.

Handles persistence of color themes and user preferences.

Core color system for the Raxol terminal emulator.

Manages color themes for the Raxol application.

Provides basic color utility functions.

Defines layout properties for terminal UI elements.

Theme management for Raxol applications.

Handles delta updates for the Raxol terminal emulator.

Platform-specific functionality and detection for Raxol.

Terminal-specific platform features and compatibility checks.

Provides version management and self-update functionality for Raxol.

ANSI escape sequence handling.

Manages character set switching and translation for the terminal emulator. Supports G0, G1, G2, G3 character sets and their switching operations.

Provides character translation tables for different character sets. Maps characters between different character sets according to ANSI standards.

Handles terminal state queries and device status reports. This includes cursor position reports, device status reports, and terminal identification queries.

ANSI escape sequence generation module.

Handles mouse event reporting for the terminal emulator. Supports various mouse reporting modes including

ANSI escape sequence parser module.

ANSI sequence processor module.

Handles screen mode transitions and state management. This includes alternate screen buffer, cursor visibility, line wrapping, and other terminal modes.

Helper module for parsing ANSI escape sequences.

ANSI Color Sequence Handler.

ANSI Cursor Sequence Handler.

ANSI Terminal Modes Sequence Handler.

Handles Sixel graphics for the terminal emulator. Supports

Handles Sixel color palette management.

Provides a mapping from Sixel characters to their 6-bit pixel patterns.

Manages terminal state for the terminal emulator. Handles saving and restoring terminal state, including cursor position, attributes, character sets, and screen modes.

Handles advanced text formatting features for the terminal emulator. This includes double-width and double-height characters, as well as other advanced text attributes and colors.

Handles window manipulation sequences for the terminal emulator. Supports various window operations including

DEPRECATED: Provides a simplified facade for interacting with ANSI escape sequences.

Manages damage tracking for terminal buffers.

Terminal buffer manager module.

Provides functions for manipulating the Raxol.Terminal.ScreenBuffer grid and state. Includes writing, clearing, deleting, inserting, resizing, and other operations.

Terminal scroll buffer module.

Manages the scrollback buffer lines.

Handles text selection within the Raxol.Terminal.ScreenBuffer.

Terminal character cell module.

Handles wide character and bidirectional text support for the terminal emulator.

Handles character set management and translation for the terminal emulator.

Provides translation logic for different character sets.

Handles clipboard operations for the terminal emulator.

DEPRECATED: Handles the execution of parsed terminal commands.

Facade for the Terminal Commands functionality that maintains backward compatibility.

Executes parsed terminal commands (CSI, OSC, DCS).

Manages command history for the terminal emulator.

Handles terminal mode setting and resetting operations.

Handles parsing of command parameters in terminal sequences.

Handles screen manipulation commands in the terminal.

Terminal configuration system.

Manages caching for terminal animations.

Terminal configuration application.

Terminal capability detection and management.

Default terminal configuration values.

Handles loading and saving terminal configuration.

Terminal configuration profile management.

Schema definitions for terminal configuration.

Utility functions for handling terminal configuration maps.

Validation logic for terminal configuration.

Manages the core Raxol terminal configuration struct.

Re-exports constants from ExTermbox NIF v2.0.1 for use within Raxol.

Handles C0 control codes and simple ESC sequences.

Terminal cursor manager module.

Handles cursor movement and positioning for the terminal emulator.

Handles cursor style and visibility control for the terminal emulator.

ASCII art rendering system for the Raxol terminal emulator.

Handles raw terminal input/output and event generation.

Manages the state of the terminal emulator, including screen buffer, cursor position, attributes, and modes.

Handles parsing of ANSI escape sequences and other control sequences.

Terminal input module.

Handles input buffering for the terminal emulator. Provides functionality for storing, retrieving, and manipulating input data.

Utility functions for Raxol.Terminal.Input.InputBuffer.

Handles input processing for the terminal emulator, including

Handles special key combinations and their escape sequences.

Defines shared types for the Raxol terminal input subsystem.

Handles input processing for the terminal emulator.

Integrates various terminal components like Emulator, Buffer Manager, Cursor Manager, etc.

Terminal manager module.

Monitors and manages memory usage for terminal processes.

Handles terminal modes and state transitions for the terminal emulator.

Parses raw byte streams into terminal events and commands. Handles escape sequences (CSI, OSC, DCS, etc.) and plain text.

Handles the :csi_entry state of the terminal parser.

Handles the :csi_intermediate state of the terminal parser.

Handles the :csi_param state of the terminal parser.

Handles the :dcs_entry state of the terminal parser.

Handles the :dcs_passthrough_maybe_st state of the terminal parser.

Handles the :dcs_passthrough state of the terminal parser.

Handles the :designate_charset state of the terminal parser.

Handles the :escape state of the terminal parser.

Handles the :ground state of the terminal parser.

Handles the :osc_string_maybe_st state of the terminal parser.

Handles the :osc_string state of the terminal parser.

Terminal registry module.

Terminal renderer module.

Manages the terminal's screen buffer state (grid, scrollback, selection). Delegates operations to specialized modules in Raxol.Terminal.Buffer.*

Alias module for Raxol.Terminal.ANSI.ScreenModes. This module re-exports the functionality from ANSI.ScreenModes to maintain compatibility.

Terminal session module.

Supervisor for terminal-related processes.

Utility functions for terminal operations, providing cross-platform and consistent handling of terminal capabilities and dimensions.

Alias module for Raxol.Terminal.ANSI.TextFormatting. This module re-exports the functionality from ANSI.TextFormatting to maintain compatibility.

Helper functions for testing button components.

Provides utilities for testing component interactions and system integration.

Provides custom assertions for integration testing of Raxol components.

Mock implementation of rrex_termbox v2.0.1 for testing environments.

Provides utilities for performance testing of Raxol components.

Provides assertions for performance testing of Raxol components.

Provides common test utilities and setup functions for Raxol tests.

Provides utilities for unit testing Raxol components and modules.

Provides custom assertions for testing Raxol components.

Provides utilities for visual testing of Raxol components.

Provides custom assertions for visual testing of Raxol components.

Provides pattern matching helpers for visual testing of Raxol components.

Defines the behavior for UI components in the Raxol system.

Provides component lifecycle hooks and management for UI components.

A progress bar component for displaying completion status.

A component for displaying tabular data with sorting, filtering, and pagination.

Button component for interactive UI elements.

Checkbox component for toggling boolean values.

A component that allows users to select an option from a list.

A text field component for single-line text input.

A text input component for capturing user text input.

Handles layout calculations for container elements like rows and columns.

Core layout engine that translates the logical view structure into absolute positions.

Handles layout calculations for grid UI elements.

Handles layout calculations for panel UI elements.

Handles measurement and positioning logic for Table elements within the LayoutEngine.

Translates a positioned element tree into a flat list of renderable cells.

Manages the rendering pipeline for the UI.

A terminal UI rendering module for Raxol.

Color management utilities for theme handling.

A component for selecting and applying themes.

Defines and manages UI themes for the Raxol system.

Provides component functions for Raxol views.

Basic UI elements for Raxol views.

Provides layout functions for Raxol views.

Manages authentication state and operations for the Raxol application.

Manages web sessions and terminal connections for the Raxol application.

Handles session cleanup for Raxol applications.

Manages web sessions for Raxol applications.

Handles session monitoring for Raxol applications.

Handles session recovery for Raxol applications.

Database schema for session storage.

Handles session storage and retrieval for Raxol applications.

Supervisor for web-related processes.

The entrypoint for defining your web interface, such as controllers, components, channels, and so on.

Provides core UI components for the Raxol web interface.

A module providing Internationalization with a gettext-based API.

View module for pages served by PageController.

WebSocket channel for real-time terminal communication.

LiveView component for the terminal interface.

Provides authentication plugs and helpers.

Handles user registration.

Handles user session management (login/logout).

Mix Tasks

Runs visualization performance benchmarks.