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
18 Versions
Jump to
Current section
18 Versions
Compare versions
225
files changed
+27204
additions
-23755
deletions
| @@ -1,111 +0,0 @@ | |
| 1 | - # Changelog |
| 2 | - |
| 3 | - All notable changes to this project will be documented in this file. |
| 4 | - |
| 5 | - The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | - and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | - |
| 8 | - ## [0.1.0] - 2023-05-24 |
| 9 | - |
| 10 | - ### Added |
| 11 | - |
| 12 | - - Initial release of Raxol |
| 13 | - - Terminal UI framework with web interface capabilities |
| 14 | - - Core components library |
| 15 | - - Visualization plugins |
| 16 | - - Internationalization support |
| 17 | - - Theme system |
| 18 | - |
| 19 | - ### Known Issues |
| 20 | - |
| 21 | - - Various compiler warnings as documented in the CI logs |
| 22 | - |
| 23 | - ## [Unreleased] |
| 24 | - |
| 25 | - ### Added |
| 26 | - |
| 27 | - - **Project Foundation:** Initial structure, config, docs, CI/CD, dev env, quality tools, test framework. |
| 28 | - - **Terminal Capabilities:** Emulation layer, ANSI processing, platform/feature detection (colors, mouse, etc.). |
| 29 | - - **Buffer Management:** Double buffering, damage tracking, virtual scrolling, cursor management. |
| 30 | - - **Plugin System:** Core API, configuration, dependency management, clipboard/notification plugins. |
| 31 | - - **Enhanced ANSI Processing:** Advanced formatting, device status reports, screen modes, character sets. |
| 32 | - - **Component System:** Refactored View DSL, dashboard/layout components, specialized widgets (Info, Chart, etc.), testing framework. |
| 33 | - - **VS Code Extension Integration:** Communication protocol, WebView panel, JSON interface. |
| 34 | - - **Database Improvements:** Connection management, error handling, diagnostics. |
| 35 | - - **Testing Framework:** Test plan, scripts (VS Code/native), mock components, performance monitoring. |
| 36 | - - **Dashboard/Visualization:** Widget positioning/resizing, layout persistence, responsive components, drag-and-drop, caching. |
| 37 | - - **CI/CD Improvements:** Local testing (`act`), cross-platform enhancements, security scanning. |
| 38 | - - **Theme System:** Multiple built-in themes, selection UI, customization API, persistence. |
| 39 | - |
| 40 | - ### Changed |
| 41 | - |
| 42 | - - **Architecture:** Improved modularity, configuration management, development workflow, documentation structure. |
| 43 | - - **Terminal Functionality:** Improved feature detection, refined ANSI processing, optimized config/memory. |
| 44 | - - **Plugin System:** Improved initialization, dependency resolution, API versioning, maintainability. |
| 45 | - - **Runtime System:** Dual-mode operation (native/VS Code), conditional init, improved startup/error handling. |
| 46 | - - **Project Structure:** Consolidated examples, dedicated frontend dir, normalized extensions, improved secrets/git handling. |
| 47 | - |
| 48 | - ### Deprecated |
| 49 | - |
| 50 | - - Old event system |
| 51 | - - Legacy rendering approach |
| 52 | - - Previous styling methods |
| 53 | - |
| 54 | - ### Removed |
| 55 | - |
| 56 | - - Outdated configuration files and dependencies |
| 57 | - - Redundant documentation |
| 58 | - - Legacy terminal handling code |
| 59 | - - `use Raxol.Component` from helper modules |
| 60 | - |
| 61 | - ### Fixed |
| 62 | - |
| 63 | - - Numerous fixes across core system stability, components, database connections, VS Code integration, runtime issues, CI/CD, ANSI processing, and test suites (details below). |
| 64 | - |
| 65 | - - **Detailed Fix History (Recent First):** |
| 66 | - - **(2024-06-03):** Resolved remaining compilation warnings. Verified that previously listed warnings were mostly outdated or already fixed. Corrected `.screen_buffer` access in `lib/raxol/terminal/session.ex` to use `Emulator.get_active_buffer/1`. |
| 67 | - |
| 68 | - ## [Unreleased] - 2024-06-03 |
| 69 | - |
| 70 | - ### Added |
| 71 | - |
| 72 | - - **Project Foundation:** Initial structure, config, docs, CI/CD, dev env, quality tools, test framework. |
| 73 | - - **Terminal Capabilities:** Emulation layer, ANSI processing, platform/feature detection (colors, mouse, etc.). |
| 74 | - - **Buffer Management:** Double buffering, damage tracking, virtual scrolling, cursor management. |
| 75 | - - **Plugin System:** Core API, configuration, dependency management, clipboard/notification plugins. |
| 76 | - - **Enhanced ANSI Processing:** Advanced formatting, device status reports, screen modes, character sets. |
| 77 | - - **Component System:** Refactored View DSL, dashboard/layout components, specialized widgets (Info, Chart, etc.), testing framework. |
| 78 | - - **VS Code Extension Integration:** Communication protocol, WebView panel, JSON interface. |
| 79 | - - **Database Improvements:** Connection management, error handling, diagnostics. |
| 80 | - - **Testing Framework:** Test plan, scripts (VS Code/native), mock components, performance monitoring. |
| 81 | - - **Dashboard/Visualization:** Widget positioning/resizing, layout persistence, responsive components, drag-and-drop, caching. |
| 82 | - - **CI/CD Improvements:** Local testing (`act`), cross-platform enhancements, security scanning. |
| 83 | - - **Theme System:** Multiple built-in themes, selection UI, customization API, persistence. |
| 84 | - |
| 85 | - ### Changed |
| 86 | - |
| 87 | - - **Architecture:** Improved modularity, configuration management, development workflow, documentation structure. |
| 88 | - - **Terminal Functionality:** Improved feature detection, refined ANSI processing, optimized config/memory. |
| 89 | - - **Plugin System:** Improved initialization, dependency resolution, API versioning, maintainability. |
| 90 | - - **Runtime System:** Dual-mode operation (native/VS Code), conditional init, improved startup/error handling. |
| 91 | - - **Project Structure:** Consolidated examples, dedicated frontend dir, normalized extensions, improved secrets/git handling. |
| 92 | - |
| 93 | - ### Deprecated |
| 94 | - |
| 95 | - - Old event system |
| 96 | - - Legacy rendering approach |
| 97 | - - Previous styling methods |
| 98 | - |
| 99 | - ### Removed |
| 100 | - |
| 101 | - - Outdated configuration files and dependencies |
| 102 | - - Redundant documentation |
| 103 | - - Legacy terminal handling code |
| 104 | - - `use Raxol.Component` from helper modules |
| 105 | - |
| 106 | - ### Fixed |
| 107 | - |
| 108 | - - Numerous fixes across core system stability, components, database connections, VS Code integration, runtime issues, CI/CD, ANSI processing, and test suites (details below). |
| 109 | - |
| 110 | - - **Detailed Fix History (Recent First):** |
| 111 | - - **(2024-06-03):** Resolved remaining compilation warnings. Verified that previously listed warnings were mostly outdated or already fixed. Corrected `.screen_buffer` access in `lib/raxol/terminal/session.ex` to use `Emulator.get_active_buffer/1`. |
| @@ -2,136 +2,129 @@ | |
| 2 2 | |
| 3 3 | [](https://hex.pm/packages/raxol) |
| 4 4 | [](LICENSE.md) |
| 5 | - |
| 6 5 | [](https://github.com/Hydepwns/raxol/actions/workflows/ci.yml) |
| 7 6 | |
| 8 7 | A terminal application toolkit for Elixir, providing components and a runtime for building interactive TUI applications. |
| 9 8 | |
| 10 | - > **Note:** Pre-release software. APIs may change before v1.0. |
| 9 | + > **Note:** Raxol is actively developed (pre-1.0). APIs may evolve. |
| 11 10 | |
| 12 11 | <!-- TODO: Add a screenshot or GIF demo here --> |
| 13 12 | |
| 14 13 | ## Features |
| 15 14 | |
| 16 | - - **ANSI Terminal Emulation:** Robust handling of ANSI escape codes, colors, and Unicode characters. |
| 17 | - - **Component Model:** Build UIs with reusable components inspired by web frameworks. |
| 18 | - - **Layout System:** Flexible layouts for arranging components within the terminal window. |
| 19 | - - **Performance:** Optimized rendering pipeline with double buffering and efficient updates. |
| 15 | + - **Component Model:** Build UIs with reusable components (`Raxol.Core.Runtime.Application` behaviour). |
| 16 | + - **Declarative View DSL:** Define UIs using `Raxol.View.Elements` macros (`box`, `text`, etc.). |
| 17 | + - **Layout System:** Arrange components using flexible layouts (`panel`, `row`, `column`). |
| 18 | + - **Theming:** Customize appearance with themes via `Raxol.Core.ColorSystem`. |
| 19 | + - **User Preferences:** Persist settings across sessions (`Raxol.Core.UserPreferences`). |
| 20 | + - **Plugin System:** Extend functionality with custom plugins (`Raxol.Core.Runtime.Plugins`). |
| 21 | + - **Terminal Handling:** Robust ANSI/Sixel processing, input handling, double buffering with NIF-based termbox integration. |
| 20 22 | |
| 21 23 | ## Installation |
| 22 24 | |
| 23 | - Add `raxol` to your list of dependencies in `mix.exs`: |
| 25 | + Add `raxol` to `mix.exs`: |
| 24 26 | |
| 25 27 | ```elixir |
| 26 28 | def deps do |
| 27 29 | [ |
| 28 | - {:raxol, "~> 0.1.0"} # Or use {:raxol, github: "Hydepwns/raxol"} for development |
| 30 | + {:raxol, "~> 0.1.0"} # Check Hex for the latest version |
| 29 31 | ] |
| 30 32 | end |
| 31 33 | ``` |
| 32 34 | |
| 33 | - Then, fetch the dependencies: |
| 34 | - |
| 35 | - ```bash |
| 36 | - mix deps.get |
| 37 | - ``` |
| 38 | - |
| 39 | - For detailed installation options and requirements, see the [Installation Guide](docs/installation/Installation.md). |
| 35 | + Then run `mix deps.get`. See [Development Setup](docs/development/DevelopmentSetup.md) for more. |
| 40 36 | |
| 41 37 | ## Getting Started |
| 42 38 | |
| 43 | - Here's a basic example of a Raxol application: |
| 44 | - |
| 45 39 | ```elixir |
| 46 40 | defmodule MyApp do |
| 47 | - use Raxol.App |
| 41 | + use Raxol.Core.Runtime.Application # Use the Application behaviour |
| 42 | + import Raxol.View.Elements # Import View DSL macros |
| 48 43 | |
| 49 44 | @impl true |
| 50 | - def render(assigns) do |
| 51 | - ~H""" |
| 52 | - <box border="single"> |
| 53 | - <text>Hello, Raxol!</text> |
| 54 | - </box> |
| 55 | - """ |
| 45 | + def init(_context), do: {:ok, %{count: 0}} # Initial state |
| 46 | + |
| 47 | + @impl true |
| 48 | + def update(message, state) do |
| 49 | + # Handle UI events (:increment, :decrement) |
| 50 | + new_state = |
| 51 | + case message do |
| 52 | + :increment -> Map.update!(state, :count, &(&1 + 1)) |
| 53 | + :decrement -> Map.update!(state, :count, &(&1 - 1)) |
| 54 | + _ -> state |
| 55 | + end |
| 56 | + {:ok, new_state, []} # Return new state, no commands |
| 56 57 | end |
| 58 | + |
| 59 | + @impl true |
| 60 | + def view(state) do |
| 61 | + # Render UI based on state |
| 62 | + view do |
| 63 | + panel title: "Counter" do |
| 64 | + row do |
| 65 | + button(label: "-", on_click: :decrement) |
| 66 | + text(content: "Count: \#{state.count}") # No padding needed |
| 67 | + button(label: "+", on_click: :increment) |
| 68 | + end |
| 69 | + end |
| 70 | + end |
| 71 | + end |
| 72 | + |
| 73 | + # Optional callbacks: handle_event/1, handle_tick/1, subscriptions/1 |
| 57 74 | end |
| 58 75 | |
| 59 | - # Start the application |
| 60 | - {:ok, _pid} = Raxol.Runtime.start_link(app: MyApp) |
| 61 | - |
| 62 | - # Keep the application running (e.g., in an IEx session or supervisor) |
| 76 | + # Typically started via Supervisor or: |
| 77 | + # Raxol.Core.Runtime.Lifecycle.start_application(MyApp) |
| 63 78 | ``` |
| 64 79 | |
| 65 | - > **Note:** Use `Raxol.App` for the main application entry point and `Raxol.View` for reusable UI components. Raxol also supports nested component functions (e.g., `box do ... end`). See the examples in `/examples` and the [Getting Started Tutorial](docs/guides/quick_start.md) for more details on both approaches. |
| 66 | - |
| 67 | - For a more comprehensive guide, please refer to the [Getting Started Tutorial](docs/guides/quick_start.md). |
| 68 | - |
| 69 | - Explore the `/examples` directory for more detailed usage patterns and advanced features. |
| 80 | + See [Getting Started Tutorial](docs/guides/quick_start.md) and `/examples` for more. |
| 70 81 | |
| 71 82 | ## Documentation |
| 72 83 | |
| 73 | - Detailed documentation can be found in the `/docs` directory or online (TODO: Add the hosted documentation link here): |
| 84 | + Main documentation index: [docs/README.md](docs/README.md) |
| 74 85 | |
| 75 | - - [Using Raxol (Installation Guide)](docs/installation/Installation.md) |
| 76 | - - [Getting Started Tutorial](docs/guides/quick_start.md) |
| 77 | - - [UI Components & Layout](docs/guides/components.md) |
| 78 | - - [Async Operations (Subscriptions & Commands)](docs/guides/async_operations.md) |
| 86 | + - [Architecture Overview](docs/ARCHITECTURE.md) |
| 87 | + - [CHANGELOG](docs/development/changes/CHANGELOG.md) |
| 88 | + - [UI Components & Layout](docs/guides/components/README.md) |
| 89 | + - [Async Operations](docs/guides/async_operations.md) |
| 79 90 | - [Runtime Options](docs/guides/runtime_options.md) |
| 80 | - - [Terminal Emulator Details](docs/terminal_emulator.md) |
| 81 | - - [Development Environment Setup](docs/installation/DevelopmentSetup.md) |
| 82 | - - [Cross-Platform Support](docs/installation/CrossPlatformSupport.md) |
| 83 | - - [Version Management](docs/installation/VersionManagement.md) |
| 91 | + - [Terminal Details](docs/development/terminal/README.md) |
| 92 | + - [Development Setup](docs/development/DevelopmentSetup.md) |
| 93 | + - [Contributing](CONTRIBUTING.md) |
| 84 94 | |
| 85 95 | ## Development |
| 86 96 | |
| 87 | - To set up your development environment, please see the [Development Environment Setup](docs/installation/DevelopmentSetup.md) guide. |
| 97 | + See [Development Setup](docs/development/DevelopmentSetup.md) and [Contributing](CONTRIBUTING.md). |
| 88 98 | |
| 89 | - Common development commands: |
| 99 | + > **Note:** The project recently completed a major refactoring. See `CHANGELOG.md` and `docs/development/planning/handoff_prompt.md` for context. |
| 100 | + |
| 101 | + Common commands: |
| 90 102 | |
| 91 103 | ```bash |
| 92 | - # Run the full test suite |
| 104 | + mix deps.get |
| 93 105 | mix test |
| 94 | - |
| 95 | - # Run static analysis (Credo for style, Dialyzer for types) |
| 96 106 | mix credo |
| 97 107 | mix dialyzer |
| 98 | - |
| 99 | - # Format code |
| 108 | + mix compile # Use --warnings-as-errors for stricter checks |
| 100 109 | mix format |
| 101 110 | ``` |
| 102 111 | |
| 103 | - We also provide a range of helper scripts for various development tasks, including: |
| 112 | + Helper scripts are in `/scripts` ([Scripts README](scripts/README.md)). |
| 104 113 | |
| 105 | - - Running different test suites (integration, platform-specific, visualization, etc.) |
| 106 | - - Performing code quality and pre-commit checks |
| 107 | - - Managing database setup and diagnostics |
| 108 | - - Building releases |
| 109 | - - Simulating CI/CD workflows locally |
| 110 | - |
| 111 | - For detailed information on all available scripts and their usage, please refer to the [Scripts Documentation](scripts/README.md). |
| 112 | - |
| 113 | - ### GitHub Actions |
| 114 | - |
| 115 | - See [GitHub Actions README](.github/workflows/README.md) for detailed instructions... |
| 114 | + GitHub Actions details: [.github/workflows/README.md](.github/workflows/README.md). |
| 116 115 | |
| 117 116 | ## Project Structure |
| 118 117 | |
| 119 | - - `/assets` - Static assets (e.g., images, fonts) |
| 120 | - - `/docker` - Docker configurations (e.g., for local testing with `act`) |
| 121 | - - `/docs` - User documentation |
| 122 | - - `/examples` - Example applications and code samples |
| 123 | - - `/extensions` - IDE integrations and extensions (e.g., VS Code) |
| 124 | - - `/frontend` - Frontend JavaScript/TypeScript configurations and assets |
| 125 | - - `/lib` - Core Elixir code |
| 126 | - - `/pages` - In-depth documentation/articles (e.g., for site generation) |
| 127 | - - `/priv` - Non-source code assets (e.g., templates, static files for releases) |
| 128 | - - `/scripts` - Helper scripts for development tasks |
| 129 | - - `/themes` - Theme definitions for styling |
| 130 | - |
| 131 | - ## Contributing |
| 132 | - |
| 133 | - Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines. |
| 118 | + - `/assets` -> Processed web assets -> `/priv/static` |
| 119 | + - `/docker` -> Docker configs (`act`) |
| 120 | + - `/docs` -> Guides, development notes, architecture |
| 121 | + - `/examples` -> Sample code |
| 122 | + - `/extensions` -> IDE integrations (VS Code) |
| 123 | + - `/lib` -> Core Elixir code (`raxol/core`, `raxol/ui`, `raxol/terminal`, etc.) |
| 124 | + - `/priv` -> Compiled assets (`priv/static`), themes, plugins |
| 125 | + - `/scripts` -> Development helper scripts |
| 126 | + - `/test` -> Test suites |
| 134 127 | |
| 135 128 | ## License |
| 136 129 | |
| 137 | - MIT License - see [LICENSE](LICENSE.md) file for details. |
| 130 | + MIT - see [LICENSE](LICENSE.md). |
| @@ -0,0 +1,229 @@ | |
| 1 | + # Changelog |
| 2 | + |
| 3 | + Format from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/); |
| 4 | + and we use [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 5 | + |
| 6 | + ## [Unreleased] - YYYY-MM-DD |
| 7 | + |
| 8 | + ### Added |
| 9 | + |
| 10 | + ### Changed |
| 11 | + |
| 12 | + ### Deprecated |
| 13 | + |
| 14 | + ### Removed |
| 15 | + |
| 16 | + ### Fixed |
| 17 | + |
| 18 | + ### Security |
| 19 | + |
| 20 | + ## [0.2.0] - 2024-07-24 |
| 21 | + |
| 22 | + ### Added |
| 23 | + |
| 24 | + - Initial release of Raxol |
| 25 | + - Terminal UI framework with web interface capabilities |
| 26 | + - Core components library |
| 27 | + - Visualization plugins |
| 28 | + - Internationalization support |
| 29 | + - Theme system |
| 30 | + |
| 31 | + ### Changed |
| 32 | + |
| 33 | + - **Dependencies:** Updated `rrex_termbox` from v1.1.5 to v2.0.1, migrating from Port-based to NIF-based architecture for improved performance and reliability. |
| 34 | + - **Terminal Subsystem:** Refactored all terminal code to use the new RrexTermbox 2.0.1 API with GenServer-based event delivery. |
| 35 | + - Updated `lib/raxol/terminal/driver.ex` to use the NIF-based interface instead of Port-based communication |
| 36 | + - Updated `lib/raxol/terminal/terminal_utils.ex` for NIF-based terminal dimension detection |
| 37 | + - Redesigned `lib/raxol/terminal/constants.ex` to directly map to NIF constants |
| 38 | + - Rewritten `lib/raxol/core/events/termbox_converter.ex` to handle NIF event format |
| 39 | + - Updated `lib/raxol/test/mock_termbox.ex` to match the NIF-based interface for testing |
| 40 | + - **Terminal Documentation:** Updated all documentation to reflect the NIF-based architecture: |
| 41 | + - Updated `docs/development/planning/terminal/terminal_dimensions.md` |
| 42 | + - Updated `docs/development/planning/handoff_prompt.md` |
| 43 | + - Updated `docs/guides/components/visualization/testing-guide.md` |
| 44 | + - Updated `docs/guides/terminal_emulator.md` |
| 45 | + - **Tests:** Rewritten `test/raxol/terminal/driver_test.exs` to test NIF events instead of Port-based IO communication |
| 46 | + - **Event Handling:** Updated the event handling system to work with the new termbox NIF architecture. |
| 47 | + |
| 48 | + ### Known Issues |
| 49 | + |
| 50 | + - Various compiler warnings as documented in the CI logs |
| 51 | + - **Runtime Hang:** Examples launched via `Raxol.start_link/1` (e.g., using `bin/demo.exs`) currently hang after compilation, indicating a blocking issue in the core runtime initialization or render loop. |
| 52 | + |
| 53 | + ### Added |
| 54 | + |
| 55 | + - **Project Foundation:** Initial structure, config, docs, CI/CD, dev env, quality tools, test framework. |
| 56 | + - **Core Systems:** |
| 57 | + - Terminal emulation layer with ANSI processing and feature detection. |
| 58 | + - Buffer management (double buffering, damage tracking, scrolling, cursor). |
| 59 | + - Plugin system (core API, config, dependencies, loading, command registry). |
| 60 | + - Component system (View DSL, layout components, widgets, testing framework). |
| 61 | + - Runtime logic (Dispatcher, Manager, Driver, Supervisor, event loop). |
| 62 | + - Core features (ID generation, preferences, plugin registry). |
| 63 | + - Terminal buffer operations (scrollback, selection). |
| 64 | + - Color system module for theme/accessibility aware color retrieval. |
| 65 | + - User preferences persistence module. |
| 66 | + - **UI Components:** Added `Table` and `SelectList`. |
| 67 | + - **Terminal Capabilities:** Enhanced ANSI processing, input parsing (mouse, special keys, bracketed paste). |
| 68 | + - **VS Code Extension Integration:** Communication protocol, WebView panel, JSON interface. |
| 69 | + - **Database:** Connection management, error handling, diagnostics improvements. |
| 70 | + - **Dashboard/Visualization:** Widget layout management, responsiveness, caching. Added helpers for Chart, Treemap, Image rendering. |
| 71 | + - **CI/CD:** Local testing (`act`), cross-platform enhancements, security scanning. |
| 72 | + - **Theme System:** Multiple built-in themes, selection UI, customization API, persistence. |
| 73 | + - **Testing:** |
| 74 | + - General testing framework improvements (mock components, performance monitoring). |
| 75 | + - Added tests for mouse event parsing, runtime supervisor, plugin manager (loading, reloading, dependencies), dispatcher interactions, layout measurement, `MultiLineInput` helpers. |
| 76 | + - Added mock plugins and test setup helpers. |
| 77 | + - **MultiLineInput Features:** Implemented basic cursor navigation, clipboard integration, and scrolling logic. |
| 78 | + - **Sixel Support:** Added initial modules for pattern mapping and palette handling. |
| 79 | + - **Documentation:** |
| 80 | + - Added initial drafts for Plugin Development, Theming, and VS Code Extension guides. |
| 81 | + - **Examples:** Created initial `component_showcase.exs` example. |
| 82 | + |
| 83 | + ### Changed |
| 84 | + |
| 85 | + - **Architecture:** Updated `ARCHITECTURE.md` codebase size analysis with new thresholds and file sizes. |
| 86 | + - **Architecture:** Completed major codebase reorganization and refactoring of core systems (Runtime, Terminal, UI, Plugins) for improved modularity, configuration, and structure. Updated `ARCHITECTURE.md`. |
| 87 | + - **Components:** Refactored `Table` component (`lib/raxol/ui/components/display/table.ex`) to use attributes for data/columns instead of internal state and apply basic width constraints. |
| 88 | + - **Terminal Functionality:** Improved feature detection, refined ANSI processing, optimized config/memory management. Refactored input parsing in `TerminalDriver` to use `:os.cmd("stty ...")`. |
| 89 | + - **Plugin System:** Improved initialization, dependency resolution, API versioning. Defined `Plugin` behaviour. Refactored `PluginManager` and `CommandRegistry` (namespaces, arity, lifecycle/command helpers). Implemented basic plugin reloading infrastructure. |
| 90 | + - **Runtime System:** Improved dual-mode operation, startup/error handling. Ensured correct command routing. Refactored `Lifecycle` module. |
| 91 | + - **Rendering Pipeline:** Refined rendering flow, integrated theme application, implemented active theme management, updated layout engine, implemented border rendering for `:box`. Refactored `RenderingEngine`. |
| 92 | + - **Project Structure:** Consolidated examples, improved secrets/git handling. Updated roadmap documents. |
| 93 | + - **Terminal Configuration:** Refactored `configuration.ex` into dedicated modules. Added deep merge utility. |
| 94 | + - **View/Layout System:** Standardized on macros in `Raxol.View.Elements`. |
| 95 | + - **Layout Engine:** Implemented measurement logic for `:panel`, `:grid`, `:view`. |
| 96 | + - **Terminal Parser:** Refactored `parse_loop` and CSI dispatching logic. Implemented placeholder handlers for SGR, scroll regions, cursor styles, etc. |
| 97 | + - **Terminal Emulator:** Refactored control code handling (C0, ESC sequences). |
| 98 | + - **Terminal Integration:** Refactored memory management and config update logic. |
| 99 | + - **MultiLineInput Component:** Refactored core logic into helper modules. Implemented selection logic. |
| 100 | + - **Visualization Plugin:** Refactored rendering logic into separate modules. |
| 101 | + - **Sixel Graphics:** Partially refactored parser and rendering logic. |
| 102 | + - **Dashboard Component:** Implemented grid-based rendering. |
| 103 | + - **Color System Integration:** Refactored `Theme` for variants/palettes. Refactored `ThemeIntegration` for high-contrast state management. |
| 104 | + - **User Preferences System:** Refactored `UserPreferences` GenServer to use `Persistence` module, support nested keys, and add auto-saving. |
| 105 | + - **Various Components & Modules:** Updated numerous components (`Button`, `Checkbox`, etc.), examples, scripts, benchmarks, and cloud monitoring modules to align with refactoring and fix behaviour implementations. |
| 106 | + - **Documentation:** |
| 107 | + - Reviewed and updated core documentation guides (`README.md`, components, quick start, async, runtime options, terminal emulator, development setup, architecture) post-refactoring. |
| 108 | + - Rewritten Component Development guide. |
| 109 | + - Updated `README.md` example. |
| 110 | + - **Mixfile (`mix.exs`):** Removed obsolete `mod:` key, updated description. |
| 111 | + - **Examples:** Refactored `component_showcase.exs` theming tab to use `Raxol.Core.ColorSystem.get/2`. |
| 112 | + - **Documentation:** Reviewed and updated terminal subsystem documentation (`ANSIProcessing.md`, `CharacterSets.md`, `ClipboardManagement.md`, `ColorManagement.md`, `Cursor.md`) to align with current architecture (`Parser`, `Emulator`, `Driver`, `Theming`, `ColorSystem`, etc.) and remove outdated content. |
| 113 | + - **Documentation:** Rewritten `docs/development/planning/overview.md` to align with current state and future vision. |
| 114 | + - **Documentation:** Updated `docs/development/planning/handoff_prompt.md` to include future feature goals from overview. |
| 115 | + - **Documentation:** Updated `docs/development/planning/roadmap/Roadmap.md` based on revised overview. |
| 116 | + - **Documentation:** Performed major cleanup: removed obsolete files/stubs, relocated terminal detail files to `docs/development/terminal/`, updated links in root `README.md` and `docs/README.md`. |
| 117 | + - **Documentation:** Archived outdated, large planning documents (`docs/development/planning/performance/case_studies.md`, `docs/development/planning/examples/integration_example.md`) to `docs/development/archive/planning/`. |
| 118 | + - **Examples:** Refactored `lib/raxol/examples/integrated_accessibility_demo.ex` to remove standalone `run/0` logic and rely on the `Raxol.Core.Runtime.Application` behaviour implementation. |
| 119 | + - **Examples:** Updated `bin/demo.exs` script to launch examples using `Raxol.start_link/1` instead of calling module-specific `run/0` functions. |
| 120 | + - **Terminal Subsystem:** Refactored `Raxol.Terminal.Driver` to utilize the `:rrex_termbox` NIF-based interface (v2.0.1) for input event handling, removing direct stdio management and ANSI parsing logic. |
| 121 | + - **Terminal Subsystem:** Refactored `Raxol.Terminal.TerminalUtils` to remove dependency on `:rrex_termbox` for determining terminal dimensions, relying solely on `:io` and `stty`. |
| 122 | + - **Examples:** Enhanced `lib/raxol/examples/integrated_accessibility_demo.ex` by: |
| 123 | + - Integrating `Raxol.Core.UserPreferences` for loading/saving settings. |
| 124 | + - Integrating `Raxol.Core.I18n` for translations. |
| 125 | + - Improving the animation example (progress bar) and respecting reduced motion. |
| 126 | + - Removing unused aliases and performing general cleanup. |
| 127 | + |
| 128 | + ### Deprecated |
| 129 | + |
| 130 | + - Old event system |
| 131 | + - Legacy rendering approach |
| 132 | + - Previous styling methods |
| 133 | + - `Raxol.Terminal.CommandHistory` (Use `Raxol.Terminal.Commands.History` instead) |
| 134 | + |
| 135 | + ### Removed |
| 136 | + |
| 137 | + - Obsolete configuration files, dependencies, documentation, and legacy code following major refactoring (including old top-level modules, `CommandHistory`, helper module component usage, redundant layout functions, unused code). |
| 138 | + - Pruned obsolete files and directories (Note: Further investigation needed for some potentially obsolete directories). |
| 139 | + |
| 140 | + ### Fixed |
| 141 | + |
| 142 | + - **Compiler Warnings:** Resolved remaining warnings: |
| 143 | + - Unused variable `_state` in `Raxol.Terminal.Driver.terminate/2`. |
| 144 | + - Unused variables `_current_color`, `_current_char` in `Raxol.Terminal.ANSI.SixelGraphics.generate_pixel_data/4` within specific `if` block. |
| 145 | + - Redefined `@doc` for `Raxol.Style.Colors.Accessibility.accessible_color_pair/2` by removing potentially conflicting comments/docs around private helper functions. |
| 146 | + - **Compilation & Build:** |
| 147 | + - Resolved `:rrex_termbox` (v2.0.1) compilation failures by adapting code to its NIF-based API. |
| 148 | + - Fixed guard clause issues in `lib/raxol/core/events/termbox_converter.ex` by defining module attributes for key constants. |
| 149 | + - Updated references from `:rrex_termbox` to `ExTermbox` in multiple files: |
| 150 | + - `lib/raxol/terminal/constants.ex` |
| 151 | + - `lib/raxol/terminal/driver.ex` |
| 152 | + - `lib/raxol/terminal/terminal_utils.ex` |
| 153 | + - Fixed issues in MultiLineInput component: |
| 154 | + - Corrected namespace in tests from `Raxol.UI.Components.Input.MultiLineInput.State` to `Raxol.Components.Input.MultiLineInput` |
| 155 | + - Updated cursor position handling to use the `cursor_pos` tuple instead of separate `cursor_row` and `cursor_col` fields |
| 156 | + - Fixed pattern matching in navigation helper to extract coordinates from cursor position tuple |
| 157 | + - Implemented missing `clear_selection` and `normalize_selection` functions |
| 158 | + - Fixed line-wrapping behavior for cursor movement in left and right directions |
| 159 | + - Applied local patch to `deps/rrex_termbox/Makefile` to remove obsolete NIF build rules that prevented compilation. |
| 160 | + - Resolved numerous compilation errors and warnings across the codebase related to refactoring (undefined functions/variables, incorrect module paths/aliases/imports, behaviour implementations, syntax errors, type issues, argument errors, cyclic dependencies). |
| 161 | + - Fixed compilation errors in `lib/raxol/plugins/visualization/treemap_renderer.ex` (unused variable, incorrect function call). |
| 162 | + - Fixed compilation errors in `lib/raxol/style/colors/accessibility.ex` (removed duplicate `contrast_ratio/2` definition). |
| 163 | + - Fixed compilation error in `lib/raxol/ui/components/display/table.ex` (syntax error in `init/1`). |
| 164 | + - Addressed issues related to Elixir/OTP compatibility (e.g., charlist syntax, `:os.cmd` usage). |
| 165 | + - Addressed compiler warnings related to missing color utility functions (`HSL.darken/2`, `HSL.lighten/2`, `Accessibility.ensure_contrast/3`, `DrawingUtils.get_contrasting_text_color/1`) by commenting out calls and adding TODOs in `palette_manager.ex`, `treemap_renderer.ex`, and `accessibility.ex`. |
| 166 | + - **Runtime & Core:** |
| 167 | + - Fixed `FunctionClauseError` in `MultiLineInput.render/2` macro usage. |
| 168 | + - Corrected event routing and command handling in runtime. |
| 169 | + - Fixed issues in `PluginManager`, `CommandRegistry`, `Dispatcher`, `TerminalDriver`, `LifecycleHelper`, `Rendering.Scheduler`. |
| 170 | + - **Components:** |
| 171 | + - Fixed `KeyError` in `MultiLineInput` default theme creation. |
| 172 | + - Fixed `MultiLineInput` behaviour implementation arity and `TextHelper` function calls. |
| 173 | + - Fixed `VisualizationPlugin` behaviour implementation. |
| 174 | + - Addressed errors in `Table`, `Progress`, `Modal`, `HintDisplay`, `FocusRing`, `Spinner`, `Dashboard`, `WidgetContainer`, `Dropdown`, `Button`, `Terminal`, `TextInput`, `Form`. |
| 175 | + - **Terminal & ANSI:** |
| 176 | + - Fixed incorrect calls to `ControlCodes` and `ScreenBuffer` functions. |
| 177 | + - Corrected `stty` command usage in `TerminalDriver`. |
| 178 | + - Fixed errors in Sixel graphics parsing logic. |
| 179 | + - Fixed scroll region clearing logic. |
| 180 | + - **Styling & Theming:** |
| 181 | + - Fixed multiple defaults definitions in `Harmony` and `Accessibility` color modules. Defined missing contrast helper. |
| 182 | + - Corrected calls to `Style.new` in visualization modules. |
| 183 | + - Fixed function calls in `PaletteManager` to use correct `HSL` and `Accessibility` modules. |
| 184 | + - Restored accidentally removed `darken_until_contrast/3` function in `lib/raxol/style/colors/accessibility.ex`. |
| 185 | + - **Utilities & Helpers:** |
| 186 | + - Fixed incorrect function calls (`List.fetch`, `component` usage in examples, `load_default_config`). |
| 187 | + - Fixed memory trimming logic in `MemoryManager`. |
| 188 | + - Fixed private function call error in benchmark reporting. |
| 189 | + - **Examples:** Addressed compilation errors and updated usage in `component_showcase.exs`, `ux_refinement_demo.exs`. |
| 190 | + - **Examples:** Fixed calls to deprecated `*_enabled?` accessibility functions in `keyboard_shortcuts_demo.ex` and `accessibility_demo.ex`, replacing them with `Accessibility.get_option/1`. |
| 191 | + - **Components:** Fixed `Table` component rendering by correctly aligning attribute/data flow between `Table.render/2`, `Layout.Table.measure_and_position/3`, and `Renderer.render_table/6`. Ensured `Elements.table/1` is used and attributes (`:data`, `:columns`, `_headers`, `_data`, `_col_widths`) are passed/extracted correctly. |
| 192 | + - **Examples:** Added missing application runner (`Raxol.start_link`) to `table_test.exs`. |
| 193 | + - **Warnings:** Fixed undefined function calls `Raxol.Core.Logger.info/1` in `keyboard_shortcuts_demo.ex` by adding `require Logger` and using `Logger.info/1`. |
| 194 | + - **Warnings:** Fixed undefined function call `Raxol.UI.Theming.Theme.get_variant!/1` in `theme_integration.ex` by returning the variant atom directly. |
| 195 | + - **Warnings:** Fixed undefined function call `Raxol.Core.Accessibility.default_options/0` by removing the wrapper call in `theme_integration.ex` and adjusting usage in `Accessibility.announce/2`. |
| 196 | + - **Warnings:** Removed numerous unused aliases across multiple modules (`Emulator`, `SixelGraphics`, `RenderHelper`, `Supervisor`, `PaletteManager`, `Parser`, `AccessibilityDemo`, `ControlCodes`, `MultiLineInput`, `MemoryManager`). |
| 197 | + - **Warnings:** Fixed various specific warnings: |
| 198 | + - Undefined `ThemeIntegration.get_active_theme/0` in `accessibility_demo.ex`. |
| 199 | + - Type mismatch in `NavigationHelper.move_cursor/2` calls. |
| 200 | + - Potential nil value in `Integer.to_string/1` call in `sixel_graphics.ex`. |
| 201 | + - Deprecated `Logger.warn/1` replaced with `Logger.warning/1`. |
| 202 | + - Fixed usage of underscored variables that were actually used (`_pn`, `_color_selection_cmd`, `_final_last_char`, `_line_num_element`). |
| 203 | + - Removed unused functions (`format_color_for_announcement`, `ensure_contrast_or_limit`, `find_accessible_pair`, `pref_key`, `get_option`). |
| 204 | + - Removed duplicate `@doc` for `contrast_ratio/2`. |
| 205 | + - Removed `@doc` from private function `maybe_scroll/1`. |
| 206 | + - Reordered `update/2` clauses in `MultiLineInput`. |
| 207 | + - Removed unused module attributes (`@memory_check_interval_ms`, `@polling_interval_ms`). |
| 208 | + - Fixed undefined function calls to `UserPreferences.get/2` and `put/2` (used `get/1`, `set/2`). |
| 209 | + - Fixed undefined function calls in `control_codes.ex` (`Emulator.get_scroll_region/1`, commented out `:terminal_state_api.cmd_scroll/2`). |
| 210 | + - Added missing `Application` behaviour callbacks to `keyboard_shortcuts_demo.ex`. |
| 211 | + - Fixed `handle_event` signature/call in `keyboard_shortcuts_demo.ex`. |
| 212 | + - Refactored RLE logic in `sixel_graphics.ex` to fix scoping errors. |
| 213 | + - Fixed syntax error in `lib/raxol/terminal/memory_manager.ex` (removed trailing comma in `defstruct`). |
| 214 | + - Added missing `GenServer.init/1` implementation to `lib/raxol/terminal/memory_manager.ex`. |
| 215 | + - Fixed undefined function call `Color.to_hsl!` in `lib/raxol/style/colors/palette_manager.ex` (used `HSL.rgb_to_hsl/3`). |
| 216 | + - Fixed `if` macro syntax error in `lib/raxol/examples/keyboard_shortcuts_demo.ex`. |
| 217 | + - Fixed undefined function calls to `UserPreferences.get/1` in `lib/raxol/examples/keyboard_shortcuts_demo.ex` (used `Raxol.Core.UserPreferences.get/1`). |
| 218 | + - Fixed undefined macro call `vbox/1` in `lib/raxol/examples/keyboard_shortcuts_demo.ex` (used `box/1` and added `require Raxol.View.Elements`). |
| 219 | + - Added missing `Raxol.Core.Runtime.Application` behaviour implementations (`handle_event/1`, `handle_tick/1`, `subscriptions/1`) to `lib/raxol/examples/keyboard_shortcuts_demo.ex`. |
| 220 | + - Corrected `@impl` annotation for `handle_event/1` in `lib/raxol/examples/keyboard_shortcuts_demo.ex`. |
| 221 | + - _Note:_ Several compiler warnings remain and require manual fixes (duplicate `@doc` in `accessibility.ex`, unused vars in `sixel_graphics.ex` & `render_helper.ex`, incorrect `@impl` on `handle_event/2` in `keyboard_shortcuts_demo.ex`). Some automated edits failed to apply fixes for these warnings. |
| 222 | + - **Warnings:** Fixed unused variable warnings in `lib/raxol/terminal/ansi/sixel_graphics.ex` (`_current_color`, `_current_char`) by prefixing with underscores. |
| 223 | + - **Warnings:** Fixed unused variable warning in `lib/raxol/components/input/multi_line_input/render_helper.ex` (`_line_number_text`) by prefixing with an underscore. |
| 224 | + - **Warnings:** Automated edits failed to remove duplicate `@doc` warning in `lib/raxol/style/colors/accessibility.ex`; requires manual removal. |
| 225 | + - **Compilation:** Resolved compilation errors by reverting variable prefixing (`_current_color`, `_current_char`, `_line_number_text`) that caused undefined variable errors, allowing compilation without `--warnings-as-errors`. Persisted warnings for unused variables and `@doc` redefinition are noted. |
| 226 | + |
| 227 | + ### Security |
| 228 | + |
| 229 | + Bing bong, fck ya life. |
| @@ -1,17 +1,36 @@ | |
| 1 1 | {<<"links">>,[{<<"GitHub">>,<<"https://github.com/Hydepwns/raxol">>}]}. |
| 2 2 | {<<"name">>,<<"raxol">>}. |
| 3 | - {<<"version">>,<<"0.1.0">>}. |
| 3 | + {<<"version">>,<<"0.2.0">>}. |
| 4 4 | {<<"description">>, |
| 5 | - <<"Raxol - A comprehensive terminal UI framework for Elixir with web interface capabilities.">>}. |
| 5 | + <<"Raxol - A toolkit for building interactive terminal UI applications in Elixir.">>}. |
| 6 6 | {<<"elixir">>,<<"~> 1.14">>}. |
| 7 7 | {<<"app">>,<<"raxol">>}. |
| 8 8 | {<<"files">>, |
| 9 9 | [<<"lib">>,<<"lib/raxol">>,<<"lib/raxol/metrics">>, |
| 10 10 | <<"lib/raxol/metrics/collector.ex">>,<<"lib/raxol/metrics/visualizer.ex">>, |
| 11 | - <<"lib/raxol/ui">>,<<"lib/raxol/ui/terminal.ex">>,<<"lib/raxol/database">>, |
| 12 | - <<"lib/raxol/database/connection_manager.ex">>,<<"lib/raxol/renderer.ex">>, |
| 13 | - <<"lib/raxol/renderer">>,<<"lib/raxol/renderer/layout.ex">>, |
| 14 | - <<"lib/raxol/database.ex">>,<<"lib/raxol/session.ex">>,<<"lib/raxol/core">>, |
| 11 | + <<"lib/raxol/ui">>,<<"lib/raxol/ui/renderer.ex">>,<<"lib/raxol/ui/layout">>, |
| 12 | + <<"lib/raxol/ui/layout/containers.ex">>,<<"lib/raxol/ui/layout/grid.ex">>, |
| 13 | + <<"lib/raxol/ui/layout/table.ex">>,<<"lib/raxol/ui/layout/panels.ex">>, |
| 14 | + <<"lib/raxol/ui/layout/engine.ex">>,<<"lib/raxol/ui/terminal.ex">>, |
| 15 | + <<"lib/raxol/ui/components">>,<<"lib/raxol/ui/components/input">>, |
| 16 | + <<"lib/raxol/ui/components/input/select_list.ex">>, |
| 17 | + <<"lib/raxol/ui/components/input/text_input.ex">>, |
| 18 | + <<"lib/raxol/ui/components/input/checkbox.ex">>, |
| 19 | + <<"lib/raxol/ui/components/input/button.ex">>, |
| 20 | + <<"lib/raxol/ui/components/input/text_field.ex">>, |
| 21 | + <<"lib/raxol/ui/components/navigation">>, |
| 22 | + <<"lib/raxol/ui/components/display">>, |
| 23 | + <<"lib/raxol/ui/components/display/progress.ex">>, |
| 24 | + <<"lib/raxol/ui/components/display/table.ex">>, |
| 25 | + <<"lib/raxol/ui/components/base">>, |
| 26 | + <<"lib/raxol/ui/components/base/component.ex">>, |
| 27 | + <<"lib/raxol/ui/components/base/lifecycle.ex">>,<<"lib/raxol/ui/theming">>, |
| 28 | + <<"lib/raxol/ui/theming/selector.ex">>,<<"lib/raxol/ui/theming/theme.ex">>, |
| 29 | + <<"lib/raxol/ui/theming/colors.ex">>,<<"lib/raxol/ui/rendering">>, |
| 30 | + <<"lib/raxol/ui/rendering/pipeline.ex">>,<<"lib/raxol/database">>, |
| 31 | + <<"lib/raxol/database/connection_manager.ex">>,<<"lib/raxol/renderer">>, |
| 32 | + <<"lib/raxol/renderer/layout.ex">>,<<"lib/raxol/database.ex">>, |
| 33 | + <<"lib/raxol/session.ex">>,<<"lib/raxol/core">>, |
| 15 34 | <<"lib/raxol/core/ux_refinement.ex">>,<<"lib/raxol/core/renderer">>, |
| 16 35 | <<"lib/raxol/core/renderer/element.ex">>, |
| 17 36 | <<"lib/raxol/core/renderer/color.ex">>, |
| @@ -19,17 +38,45 @@ | |
| 19 38 | <<"lib/raxol/core/renderer/view.ex">>,<<"lib/raxol/core/renderer/views">>, |
| 20 39 | <<"lib/raxol/core/renderer/views/chart.ex">>, |
| 21 40 | <<"lib/raxol/core/renderer/views/table.ex">>, |
| 22 | - <<"lib/raxol/core/renderer/buffer.ex">>, |
| 23 | - <<"lib/raxol/core/keyboard_shortcuts.ex">>, |
| 41 | + <<"lib/raxol/core/renderer/buffer.ex">>,<<"lib/raxol/core/preferences">>, |
| 42 | + <<"lib/raxol/core/preferences/store.ex">>, |
| 43 | + <<"lib/raxol/core/preferences/persistence.ex">>, |
| 44 | + <<"lib/raxol/core/keyboard_shortcuts.ex">>,<<"lib/raxol/core/plugins">>, |
| 45 | + <<"lib/raxol/core/plugins/core">>, |
| 46 | + <<"lib/raxol/core/plugins/core/clipboard_plugin.ex">>, |
| 47 | + <<"lib/raxol/core/plugins/core/notification_plugin.ex">>, |
| 24 48 | <<"lib/raxol/core/user_preferences.ex">>,<<"lib/raxol/core/runtime">>, |
| 25 49 | <<"lib/raxol/core/runtime/supervisor.ex">>, |
| 50 | + <<"lib/raxol/core/runtime/plugins">>, |
| 51 | + <<"lib/raxol/core/runtime/plugins/registry.ex">>, |
| 52 | + <<"lib/raxol/core/runtime/plugins/plugin_metadata_provider.ex">>, |
| 53 | + <<"lib/raxol/core/runtime/plugins/command_helper.ex">>, |
| 54 | + <<"lib/raxol/core/runtime/plugins/manager.ex">>, |
| 55 | + <<"lib/raxol/core/runtime/plugins/lifecycle_helper.ex">>, |
| 56 | + <<"lib/raxol/core/runtime/plugins/command_registry.ex">>, |
| 57 | + <<"lib/raxol/core/runtime/plugins/commands.ex">>, |
| 58 | + <<"lib/raxol/core/runtime/plugins/api.ex">>, |
| 59 | + <<"lib/raxol/core/runtime/plugins/loader.ex">>, |
| 60 | + <<"lib/raxol/core/runtime/plugins/plugin.ex">>, |
| 26 61 | <<"lib/raxol/core/runtime/event_source.ex">>, |
| 27 62 | <<"lib/raxol/core/runtime/command.ex">>, |
| 28 63 | <<"lib/raxol/core/runtime/subscription.ex">>, |
| 29 64 | <<"lib/raxol/core/runtime/component_manager.ex">>, |
| 65 | + <<"lib/raxol/core/runtime/rendering">>, |
| 66 | + <<"lib/raxol/core/runtime/rendering/scheduler.ex">>, |
| 67 | + <<"lib/raxol/core/runtime/rendering/engine.ex">>, |
| 68 | + <<"lib/raxol/core/runtime/rendering/buffer.ex">>, |
| 30 69 | <<"lib/raxol/core/runtime/application.ex">>, |
| 70 | + <<"lib/raxol/core/runtime/events">>, |
| 71 | + <<"lib/raxol/core/runtime/events/handlers.ex">>, |
| 72 | + <<"lib/raxol/core/runtime/events/converter.ex">>, |
| 73 | + <<"lib/raxol/core/runtime/events/dispatcher.ex">>, |
| 74 | + <<"lib/raxol/core/runtime/events/keyboard.ex">>, |
| 75 | + <<"lib/raxol/core/runtime/lifecycle.ex">>, |
| 76 | + <<"lib/raxol/core/runtime/debug.ex">>,<<"lib/raxol/core/id.ex">>, |
| 31 77 | <<"lib/raxol/core/focus_manager.ex">>,<<"lib/raxol/core/accessibility.ex">>, |
| 32 | - <<"lib/raxol/core/keyboard_navigator.ex">>,<<"lib/raxol/core/events">>, |
| 78 | + <<"lib/raxol/core/keyboard_navigator.ex">>, |
| 79 | + <<"lib/raxol/core/color_system.ex">>,<<"lib/raxol/core/events">>, |
| 33 80 | <<"lib/raxol/core/events/termbox_converter.ex">>, |
| 34 81 | <<"lib/raxol/core/events/event.ex">>, |
| 35 82 | <<"lib/raxol/core/events/subscription.ex">>, |
| @@ -54,10 +101,16 @@ | |
| 54 101 | <<"lib/raxol/test/performance">>, |
| 55 102 | <<"lib/raxol/test/performance/assertions.ex">>,<<"lib/raxol/test/unit.ex">>, |
| 56 103 | <<"lib/raxol/test/button_helpers.ex">>,<<"lib/raxol/test/visual.ex">>, |
| 57 | - <<"lib/raxol/runtime.ex">>,<<"lib/raxol/auth">>, |
| 58 | - <<"lib/raxol/auth/role.ex">>,<<"lib/raxol/auth/user.ex">>, |
| 59 | - <<"lib/raxol/auth/permission.ex">>,<<"lib/raxol/auth/plug.ex">>, |
| 60 | - <<"lib/raxol/plugins">>,<<"lib/raxol/plugins/search_plugin.ex">>, |
| 104 | + <<"lib/raxol/auth">>,<<"lib/raxol/auth/role.ex">>, |
| 105 | + <<"lib/raxol/auth/user.ex">>,<<"lib/raxol/auth/permission.ex">>, |
| 106 | + <<"lib/raxol/auth/plug.ex">>,<<"lib/raxol/plugins">>, |
| 107 | + <<"lib/raxol/plugins/visualization">>, |
| 108 | + <<"lib/raxol/plugins/visualization/treemap_renderer.ex">>, |
| 109 | + <<"lib/raxol/plugins/visualization/chart_renderer.ex">>, |
| 110 | + <<"lib/raxol/plugins/visualization/image_renderer.ex">>, |
| 111 | + <<"lib/raxol/plugins/visualization/drawing_utils.ex">>, |
| 112 | + <<"lib/raxol/plugins/core">>,<<"lib/raxol/plugins/core/.keep">>, |
| 113 | + <<"lib/raxol/plugins/search_plugin.ex">>, |
| 61 114 | <<"lib/raxol/plugins/visualization_plugin.ex">>, |
| 62 115 | <<"lib/raxol/plugins/clipboard_plugin.ex">>, |
| 63 116 | <<"lib/raxol/plugins/theme_plugin.ex">>, |
| @@ -68,8 +121,6 @@ | |
| 68 121 | <<"lib/raxol/plugins/plugin_config.ex">>, |
| 69 122 | <<"lib/raxol/plugins/plugin_dependency.ex">>, |
| 70 123 | <<"lib/raxol/plugins/plugin.ex">>,<<"lib/raxol/auth.ex">>, |
| 71 | - <<"lib/raxol/shell">>,<<"lib/raxol/shell/filters">>, |
| 72 | - <<"lib/raxol/shell/indicators">>,<<"lib/raxol/shell/prompts">>, |
| 73 124 | <<"lib/raxol/web">>,<<"lib/raxol/web/supervisor.ex">>, |
| 74 125 | <<"lib/raxol/web/auth">>,<<"lib/raxol/web/auth/manager.ex">>, |
| 75 126 | <<"lib/raxol/web/manager.ex">>,<<"lib/raxol/web/session">>, |
| @@ -80,7 +131,7 @@ | |
| 80 131 | <<"lib/raxol/web/session/manager.ex">>, |
| 81 132 | <<"lib/raxol/web/session/storage.ex">>,<<"lib/raxol/recording">>, |
| 82 133 | <<"lib/raxol/recording/capture">>,<<"lib/raxol/recording/playback">>, |
| 83 | - <<"lib/raxol/event.ex">>,<<"lib/raxol/metrics.ex">>,<<"lib/raxol/runtime">>, |
| 134 | + <<"lib/raxol/metrics.ex">>,<<"lib/raxol/runtime">>, |
| 84 135 | <<"lib/raxol/runtime/supervisor.ex">>,<<"lib/raxol/animation">>, |
| 85 136 | <<"lib/raxol/animation/easing.ex">>,<<"lib/raxol/animation/easing">>, |
| 86 137 | <<"lib/raxol/animation/framework.ex">>,<<"lib/raxol/animation/physics">>, |
| @@ -90,13 +141,27 @@ | |
| 90 141 | <<"lib/raxol/animation/gestures.ex">>,<<"lib/raxol/terminal">>, |
| 91 142 | <<"lib/raxol/terminal/cell.ex">>,<<"lib/raxol/terminal/supervisor.ex">>, |
| 92 143 | <<"lib/raxol/terminal/registry.ex">>,<<"lib/raxol/terminal/renderer.ex">>, |
| 144 | + <<"lib/raxol/terminal/constants.ex">>, |
| 93 145 | <<"lib/raxol/terminal/command_executor.ex">>, |
| 94 146 | <<"lib/raxol/terminal/.credo.exs">>,<<"lib/raxol/terminal/session.ex">>, |
| 95 147 | <<"lib/raxol/terminal/modes.ex">>,<<"lib/raxol/terminal/cursor">>, |
| 96 148 | <<"lib/raxol/terminal/cursor/movement.ex">>, |
| 97 149 | <<"lib/raxol/terminal/cursor/style.ex">>, |
| 98 150 | <<"lib/raxol/terminal/cursor/README.md">>, |
| 99 | - <<"lib/raxol/terminal/cursor/manager.ex">>,<<"lib/raxol/terminal/input">>, |
| 151 | + <<"lib/raxol/terminal/cursor/manager.ex">>, |
| 152 | + <<"lib/raxol/terminal/character_sets">>, |
| 153 | + <<"lib/raxol/terminal/character_sets/translator.ex">>, |
| 154 | + <<"lib/raxol/terminal/config">>, |
| 155 | + <<"lib/raxol/terminal/config/persistence.ex">>, |
| 156 | + <<"lib/raxol/terminal/config/README.md">>, |
| 157 | + <<"lib/raxol/terminal/config/animation_cache.ex">>, |
| 158 | + <<"lib/raxol/terminal/config/profiles.ex">>, |
| 159 | + <<"lib/raxol/terminal/config/schema.ex">>, |
| 160 | + <<"lib/raxol/terminal/config/validation.ex">>, |
| 161 | + <<"lib/raxol/terminal/config/application.ex">>, |
| 162 | + <<"lib/raxol/terminal/config/utils.ex">>, |
| 163 | + <<"lib/raxol/terminal/config/capabilities.ex">>, |
| 164 | + <<"lib/raxol/terminal/config/defaults.ex">>,<<"lib/raxol/terminal/input">>, |
| 100 165 | <<"lib/raxol/terminal/input/input_buffer_utils.ex">>, |
| 101 166 | <<"lib/raxol/terminal/input/types.ex">>, |
| 102 167 | <<"lib/raxol/terminal/input/input_handler.ex">>, |
| @@ -105,39 +170,74 @@ | |
| 105 170 | <<"lib/raxol/terminal/configuration.ex">>,<<"lib/raxol/terminal/ansi">>, |
| 106 171 | <<"lib/raxol/terminal/ansi/sixel_graphics.ex">>, |
| 107 172 | <<"lib/raxol/terminal/ansi/processor.ex">>, |
| 173 | + <<"lib/raxol/terminal/ansi/sixel_palette.ex">>, |
| 108 174 | <<"lib/raxol/terminal/ansi/terminal_state.ex">>, |
| 109 175 | <<"lib/raxol/terminal/ansi/mouse_events.ex">>, |
| 110 176 | <<"lib/raxol/terminal/ansi/character_translations.ex">>, |
| 111 177 | <<"lib/raxol/terminal/ansi/screen_modes.ex">>, |
| 178 | + <<"lib/raxol/terminal/ansi/emitter.ex">>, |
| 112 179 | <<"lib/raxol/terminal/ansi/text_formatting.ex">>, |
| 180 | + <<"lib/raxol/terminal/ansi/sequences">>, |
| 181 | + <<"lib/raxol/terminal/ansi/sequences/modes.ex">>, |
| 182 | + <<"lib/raxol/terminal/ansi/sequences/colors.ex">>, |
| 183 | + <<"lib/raxol/terminal/ansi/sequences/cursor.ex">>, |
| 113 184 | <<"lib/raxol/terminal/ansi/sequence_parser.ex">>, |
| 185 | + <<"lib/raxol/terminal/ansi/sixel_pattern_map.ex">>, |
| 114 186 | <<"lib/raxol/terminal/ansi/character_sets.ex">>, |
| 115 187 | <<"lib/raxol/terminal/ansi/window_manipulation.ex">>, |
| 188 | + <<"lib/raxol/terminal/ansi/parser.ex">>, |
| 116 189 | <<"lib/raxol/terminal/ansi/device_status.ex">>, |
| 117 190 | <<"lib/raxol/terminal/terminal_utils.ex">>, |
| 191 | + <<"lib/raxol/terminal/config.ex">>, |
| 192 | + <<"lib/raxol/terminal/memory_manager.ex">>, |
| 118 193 | <<"lib/raxol/terminal/escape_sequence.ex">>, |
| 119 | - <<"lib/raxol/terminal/emulator.ex">>,<<"lib/raxol/terminal/README.md">>, |
| 194 | + <<"lib/raxol/terminal/emulator.ex">>,<<"lib/raxol/terminal/parser">>, |
| 195 | + <<"lib/raxol/terminal/parser/states">>, |
| 196 | + <<"lib/raxol/terminal/parser/states/csi_entry_state.ex">>, |
| 197 | + <<"lib/raxol/terminal/parser/states/designate_charset_state.ex">>, |
| 198 | + <<"lib/raxol/terminal/parser/states/osc_string_maybe_st_state.ex">>, |
| 199 | + <<"lib/raxol/terminal/parser/states/ground_state.ex">>, |
| 200 | + <<"lib/raxol/terminal/parser/states/csi_intermediate_state.ex">>, |
| 201 | + <<"lib/raxol/terminal/parser/states/osc_string_state.ex">>, |
| 202 | + <<"lib/raxol/terminal/parser/states/csi_param_state.ex">>, |
| 203 | + <<"lib/raxol/terminal/parser/states/escape_state.ex">>, |
| 204 | + <<"lib/raxol/terminal/parser/states/dcs_passthrough_maybe_st_state.ex">>, |
| 205 | + <<"lib/raxol/terminal/parser/states/dcs_passthrough_state.ex">>, |
| 206 | + <<"lib/raxol/terminal/parser/states/dcs_entry_state.ex">>, |
| 207 | + <<"lib/raxol/terminal/ansi_facade.ex">>,<<"lib/raxol/terminal/README.md">>, |
| 120 208 | <<"lib/raxol/terminal/screen_modes.ex">>, |
| 121 209 | <<"lib/raxol/terminal/control_codes.ex">>, |
| 122 210 | <<"lib/raxol/terminal/input_handler.ex">>,<<"lib/raxol/terminal/ansi.ex">>, |
| 123 | - <<"lib/raxol/terminal/clipboard.ex">>,<<"lib/raxol/terminal/manager.ex">>, |
| 124 | - <<"lib/raxol/terminal/command_history.ex">>, |
| 211 | + <<"lib/raxol/terminal/driver.ex">>,<<"lib/raxol/terminal/clipboard.ex">>, |
| 212 | + <<"lib/raxol/terminal/manager.ex">>, |
| 125 213 | <<"lib/raxol/terminal/text_formatting.ex">>, |
| 214 | + <<"lib/raxol/terminal/commands.ex">>, |
| 126 215 | <<"lib/raxol/terminal/character_sets.ex">>,<<"lib/raxol/terminal/display">>, |
| 127 216 | <<"lib/raxol/terminal/display/ascii_art.ex">>, |
| 217 | + <<"lib/raxol/terminal/commands">>, |
| 218 | + <<"lib/raxol/terminal/commands/modes.ex">>, |
| 219 | + <<"lib/raxol/terminal/commands/screen.ex">>, |
| 220 | + <<"lib/raxol/terminal/commands/README.md">>, |
| 221 | + <<"lib/raxol/terminal/commands/history.ex">>, |
| 222 | + <<"lib/raxol/terminal/commands/executor.ex">>, |
| 223 | + <<"lib/raxol/terminal/commands/parser.ex">>, |
| 224 | + <<"lib/raxol/terminal/commands/REFACTORING.md">>, |
| 128 225 | <<"lib/raxol/terminal/integration.ex">>,<<"lib/raxol/terminal/parser.ex">>, |
| 129 226 | <<"lib/raxol/terminal/input.ex">>, |
| 130 227 | <<"lib/raxol/terminal/character_handling.ex">>, |
| 131 228 | <<"lib/raxol/terminal/screen_buffer.ex">>,<<"lib/raxol/terminal/buffer">>, |
| 132 229 | <<"lib/raxol/terminal/buffer/scroll.ex">>, |
| 133 230 | <<"lib/raxol/terminal/buffer/README.md">>, |
| 134 | - <<"lib/raxol/terminal/buffer/manager.ex">>,<<"lib/raxol/runtime_debug.ex">>, |
| 135 | - <<"lib/raxol/style">>,<<"lib/raxol/style/layout.ex">>, |
| 136 | - <<"lib/raxol/style/borders.ex">>,<<"lib/raxol/style/borders">>, |
| 137 | - <<"lib/raxol/style/layout">>,<<"lib/raxol/style/style.ex">>, |
| 138 | - <<"lib/raxol/style/theme.ex">>,<<"lib/raxol/style/colors">>, |
| 139 | - <<"lib/raxol/style/colors/gradient.ex">>, |
| 140 | - <<"lib/raxol/style/colors/palette.ex">>, |
| 231 | + <<"lib/raxol/terminal/buffer/selection.ex">>, |
| 232 | + <<"lib/raxol/terminal/buffer/manager.ex">>, |
| 233 | + <<"lib/raxol/terminal/buffer/damage_tracker.ex">>, |
| 234 | + <<"lib/raxol/terminal/buffer/operations.ex">>, |
| 235 | + <<"lib/raxol/terminal/buffer/scrollback.ex">>,<<"lib/raxol/style">>, |
| 236 | + <<"lib/raxol/style/layout.ex">>,<<"lib/raxol/style/borders.ex">>, |
| 237 | + <<"lib/raxol/style/borders">>,<<"lib/raxol/style/layout">>, |
| 238 | + <<"lib/raxol/style/style.ex">>,<<"lib/raxol/style/theme.ex">>, |
| 239 | + <<"lib/raxol/style/colors">>,<<"lib/raxol/style/colors/gradient.ex">>, |
| 240 | + <<"lib/raxol/style/colors/palette.ex">>,<<"lib/raxol/style/colors/hsl.ex">>, |
| 141 241 | <<"lib/raxol/style/colors/advanced.ex">>, |
| 142 242 | <<"lib/raxol/style/colors/palette_manager.ex">>, |
| 143 243 | <<"lib/raxol/style/colors/system.ex">>, |
| @@ -146,13 +246,12 @@ | |
| 146 246 | <<"lib/raxol/style/colors/accessibility.ex">>, |
| 147 247 | <<"lib/raxol/style/colors/utilities.ex">>, |
| 148 248 | <<"lib/raxol/style/colors/hot_reload.ex">>, |
| 149 | - <<"lib/raxol/style/colors/adaptive.ex">>,<<"lib/raxol/docs">>, |
| 249 | + <<"lib/raxol/style/colors/adaptive.ex">>, |
| 250 | + <<"lib/raxol/style/colors/harmony.ex">>,<<"lib/raxol/docs">>, |
| 150 251 | <<"lib/raxol/docs/interactive_tutorial.ex">>, |
| 151 252 | <<"lib/raxol/docs/component_catalog.ex">>,<<"lib/raxol/cli">>, |
| 152 253 | <<"lib/raxol/cli/commands">>,<<"lib/raxol/cli/commands/update_cmd.ex">>, |
| 153 | - <<"lib/raxol/cloud.ex">>,<<"lib/raxol/accounts.ex">>, |
| 154 | - <<"lib/raxol/theme.ex">>,<<"lib/raxol/accessibility.ex">>, |
| 155 | - <<"lib/raxol/components.ex">>,<<"lib/raxol/system">>, |
| 254 | + <<"lib/raxol/cloud.ex">>,<<"lib/raxol/accounts.ex">>,<<"lib/raxol/system">>, |
| 156 255 | <<"lib/raxol/system/updater.ex">>,<<"lib/raxol/system/delta_updater.ex">>, |
| 157 256 | <<"lib/raxol/system/platform.ex">>, |
| 158 257 | <<"lib/raxol/system/terminal_platform.ex">>,<<"lib/raxol/components">>, |
| @@ -163,12 +262,19 @@ | |
| 163 262 | <<"lib/raxol/components/input/text_input.ex">>, |
| 164 263 | <<"lib/raxol/components/input/multi_line_input.ex">>, |
| 165 264 | <<"lib/raxol/components/input/text_wrapping.ex">>, |
| 265 | + <<"lib/raxol/components/input/multi_line_input">>, |
| 266 | + <<"lib/raxol/components/input/multi_line_input/clipboard_helper.ex">>, |
| 267 | + <<"lib/raxol/components/input/multi_line_input/event_handler.ex">>, |
| 268 | + <<"lib/raxol/components/input/multi_line_input/text_helper.ex">>, |
| 269 | + <<"lib/raxol/components/input/multi_line_input/navigation_helper.ex">>, |
| 270 | + <<"lib/raxol/components/input/multi_line_input/render_helper.ex">>, |
| 166 271 | <<"lib/raxol/components/input/single_line_input.ex">>, |
| 167 272 | <<"lib/raxol/components/text_input.ex">>, |
| 168 273 | <<"lib/raxol/components/navigation">>,<<"lib/raxol/components/terminal">>, |
| 169 274 | <<"lib/raxol/components/terminal/emulator.ex">>, |
| 170 275 | <<"lib/raxol/components/terminal.ex">>, |
| 171 276 | <<"lib/raxol/components/progress.ex">>,<<"lib/raxol/components/dashboard">>, |
| 277 | + <<"lib/raxol/components/dashboard/layout_persistence.ex">>, |
| 172 278 | <<"lib/raxol/components/dashboard/widget_container.ex">>, |
| 173 279 | <<"lib/raxol/components/dashboard/grid_container.ex">>, |
| 174 280 | <<"lib/raxol/components/dashboard/dashboard.ex">>, |
| @@ -184,31 +290,40 @@ | |
| 184 290 | <<"lib/raxol/components/focus_ring.ex">>, |
| 185 291 | <<"lib/raxol/components/button.ex">>, |
| 186 292 | <<"lib/raxol/components/hint_display.ex">>, |
| 187 | - <<"lib/raxol/components/modal.ex">>,<<"lib/raxol/component.ex">>, |
| 188 | - <<"lib/raxol/accounts">>,<<"lib/raxol/ai">>, |
| 189 | - <<"lib/raxol/ai/performance_optimization.ex">>, |
| 293 | + <<"lib/raxol/components/modal.ex">>,<<"lib/raxol/accounts">>, |
| 294 | + <<"lib/raxol/ai">>,<<"lib/raxol/ai/performance_optimization.ex">>, |
| 190 295 | <<"lib/raxol/ai/content_generation.ex">>,<<"lib/raxol/examples">>, |
| 191 296 | <<"lib/raxol/examples/keyboard_shortcuts_demo.ex">>, |
| 192 297 | <<"lib/raxol/examples/ux_refinement_demo.ex">>, |
| 193 298 | <<"lib/raxol/examples/color_system_demo.ex">>, |
| 194 299 | <<"lib/raxol/examples/accessibility_demo.ex">>, |
| 195 | - <<"lib/raxol/examples/button.ex">>,<<"lib/raxol/examples/form.ex">>, |
| 300 | + <<"lib/raxol/examples/table_demo.ex">>,<<"lib/raxol/examples/button.ex">>, |
| 301 | + <<"lib/raxol/examples/form.ex">>, |
| 196 302 | <<"lib/raxol/examples/integrated_accessibility_demo.ex">>, |
| 197 303 | <<"lib/raxol/benchmarks">>, |
| 198 304 | <<"lib/raxol/benchmarks/visualization_benchmark_realistic.ex">>, |
| 199 305 | <<"lib/raxol/benchmarks/performance.ex">>, |
| 200 306 | <<"lib/raxol/benchmarks/visualization_benchmark_simple.ex">>, |
| 307 | + <<"lib/raxol/benchmarks/performance">>, |
| 308 | + <<"lib/raxol/benchmarks/performance/event_handling.ex">>, |
| 309 | + <<"lib/raxol/benchmarks/performance/rendering.ex">>, |
| 310 | + <<"lib/raxol/benchmarks/performance/reporting.ex">>, |
| 311 | + <<"lib/raxol/benchmarks/performance/validation.ex">>, |
| 312 | + <<"lib/raxol/benchmarks/performance/memory_usage.ex">>, |
| 313 | + <<"lib/raxol/benchmarks/performance/animation.ex">>, |
| 201 314 | <<"lib/raxol/benchmarks/visualization_benchmark.ex">>,<<"lib/raxol/cloud">>, |
| 202 315 | <<"lib/raxol/cloud/monitoring.ex">>,<<"lib/raxol/cloud/core.ex">>, |
| 203 316 | <<"lib/raxol/cloud/state_manager.ex">>,<<"lib/raxol/cloud/config.ex">>, |
| 204 317 | <<"lib/raxol/cloud/README.md">>,<<"lib/raxol/cloud/integrations.ex">>, |
| 205 | - <<"lib/raxol/cloud/edge_computing.ex">>,<<"lib/raxol/focus.ex">>, |
| 206 | - <<"lib/raxol/view">>,<<"lib/raxol/view/layout.ex">>, |
| 207 | - <<"lib/raxol/view/elements.ex">>,<<"lib/raxol/view/components.ex">>, |
| 208 | - <<"lib/raxol/stdio_interface.ex">>,<<"lib/raxol/application.ex">>, |
| 209 | - <<"lib/raxol/view.ex">>,<<"lib/raxol/theme_config.ex">>, |
| 210 | - <<"lib/raxol/repo.ex">>,<<"lib/raxol/my_app.ex">>,<<"lib/raxol/app.ex">>, |
| 211 | - <<"lib/raxol/plugin.ex">>,<<"lib/mix">>,<<"lib/mix/tasks">>, |
| 318 | + <<"lib/raxol/cloud/edge_computing.ex">>,<<"lib/raxol/cloud/monitoring">>, |
| 319 | + <<"lib/raxol/cloud/monitoring/health.ex">>, |
| 320 | + <<"lib/raxol/cloud/monitoring/alerts.ex">>, |
| 321 | + <<"lib/raxol/cloud/monitoring/metrics.ex">>, |
| 322 | + <<"lib/raxol/cloud/monitoring/errors.ex">>, |
| 323 | + <<"lib/raxol/dynamic_supervisor.ex">>,<<"lib/raxol/view">>, |
| 324 | + <<"lib/raxol/view/layout.ex">>,<<"lib/raxol/view/elements.ex">>, |
| 325 | + <<"lib/raxol/view/components.ex">>,<<"lib/raxol/application.ex">>, |
| 326 | + <<"lib/raxol/repo.ex">>,<<"lib/mix">>,<<"lib/mix/tasks">>, |
| 212 327 | <<"lib/mix/tasks/benchmark.visualization.ex">>,<<"lib/raxol.ex">>, |
| 213 328 | <<"lib/raxol_web">>,<<"lib/raxol_web/telemetry.ex">>, |
| 214 329 | <<"lib/raxol_web/user_auth.ex">>,<<"lib/raxol_web/gettext.ex">>, |
| @@ -242,13 +357,14 @@ | |
| 242 357 | <<"lib/raxol_web/channels">>, |
| 243 358 | <<"lib/raxol_web/channels/terminal_channel.ex">>,<<"lib/raxol_web.ex">>, |
| 244 359 | <<"priv/themes">>,<<"priv/themes/Standard.json">>,<<".formatter.exs">>, |
| 245 | - <<"mix.exs">>,<<"README.md">>,<<"LICENSE.md">>,<<"CHANGELOG.md">>]}. |
| 360 | + <<"mix.exs">>,<<"README.md">>,<<"LICENSE.md">>, |
| 361 | + <<"docs/development/changes/CHANGELOG.md">>]}. |
| 246 362 | {<<"licenses">>,[<<"MIT">>]}. |
| 247 363 | {<<"requirements">>, |
| 248 364 | [[{<<"name">>,<<"rrex_termbox">>}, |
| 249 365 | {<<"app">>,<<"rrex_termbox">>}, |
| 250 366 | {<<"optional">>,false}, |
| 251 | - {<<"requirement">>,<<"~> 1.0.3">>}, |
| 367 | + {<<"requirement">>,<<"~> 2.0.1">>}, |
| 252 368 | {<<"repository">>,<<"hexpm">>}], |
| 253 369 | [{<<"name">>,<<"phoenix">>}, |
| 254 370 | {<<"app">>,<<"phoenix">>}, |
| @@ -315,6 +431,16 @@ | |
| 315 431 | {<<"optional">>,false}, |
| 316 432 | {<<"requirement">>,<<"~> 1.0">>}, |
| 317 433 | {<<"repository">>,<<"hexpm">>}], |
| 434 | + [{<<"name">>,<<"clipboard">>}, |
| 435 | + {<<"app">>,<<"clipboard">>}, |
| 436 | + {<<"optional">>,false}, |
| 437 | + {<<"requirement">>,<<"~> 0.2.1">>}, |
| 438 | + {<<"repository">>,<<"hexpm">>}], |
| 439 | + [{<<"name">>,<<"circular_buffer">>}, |
| 440 | + {<<"app">>,<<"circular_buffer">>}, |
| 441 | + {<<"optional">>,false}, |
| 442 | + {<<"requirement">>,<<"~> 0.2">>}, |
| 443 | + {<<"repository">>,<<"hexpm">>}], |
| 318 444 | [{<<"name">>,<<"esbuild">>}, |
| 319 445 | {<<"app">>,<<"esbuild">>}, |
| 320 446 | {<<"optional">>,false}, |
| @@ -61,10 +61,10 @@ defmodule Mix.Tasks.Benchmark.Visualization do | |
| 61 61 | {[10, 100, 500, 1000], 5, "Medium Test"} |
| 62 62 | |
| 63 63 | :large -> |
| 64 | - {[10, 100, 1000, 5000, 10000], 3, "Large Test"} |
| 64 | + {[10, 100, 1000, 5000, 10_000], 3, "Large Test"} |
| 65 65 | |
| 66 66 | :production -> |
| 67 | - {[10, 100, 1000, 5000, 10000, 50000], 10, "Production Benchmark"} |
| 67 | + {[10, 100, 1000, 5000, 10_000, 50_000], 10, "Production Benchmark"} |
| 68 68 | end |
| 69 69 | |
| 70 70 | # Set output directory |
Loading more files…