Opal
Opal: Next-generation TUI and CLI DSL framework for Crystal. Unifies The Elm Architecture (Bubbletea), Declarative Layout (Ink), and Low-Level Double-Buffered Terminal Diffing (Blessed).
Constants
Class methods
Top-level Opal shortcuts
Convenience DSL to define and configure a CLI application.
Copies text to the system clipboard using OSC 52 and native OS tools.
High-level interactive filter prompt helper.
High-level entry point to declare and run an interactive form.
Creates a clickable OSC 8 hyperlink for modern terminals.
High-level interactive palette runner for CLI or embedding.
Top-level helper for declarative mock gamepad testing
High-level helper for creating new files or folders
High-level helper for opening files
High-level helper for choosing folders
High-level interactive color picker helper.
High-level standalone runner for 3D rotatable color picker
Creates a new PixelBuffer with specified width, height, and optional default color.
Prints Markdown text directly to IO stream.
Convenience DSL to prompt with tab autocomplete and ghost text
Renders Markdown text directly to an ANSI formatted string.
Convenience shortcut to render a declarative UI tree
Overload run_tea with record_cast support
High-level helper for saving files
Top-level DSL helper: Opal.theme "my_theme" do |t| ... end
Sets the current active Theme by symbol, string, or Theme instance
Nested types
- Opal::Animation
- Opal::Ascii
- Opal::AsciiCode
- Opal::Asciicast
- Opal::Asciinema
- Opal::Async
- Opal::Border
- Opal::CLI
- Opal::Chars
- Opal::Clipboard
- Opal::Color
- Opal::ColorSpaces
- Opal::DSL
- Opal::FormModule
- Opal::FormValue
- Opal::Game
- Opal::GlyphSet
- Opal::Glyphs
- Opal::Graphics
- Opal::HTML
- Opal::Image
- Opal::Input
- Opal::Layout
- Opal::Mermaid
- Opal::NamedColorEntry
- Opal::PaletteFormat
- Opal::PaletteFormats
- Opal::PaletteMode
- Opal::PaletteModel
- Opal::Prompt
- Opal::Shader
- Opal::Style
- Opal::TEA
- Opal::Terminal
- Opal::Theme
- Opal::ThemeBuilder
- Opal::ThemeStore
- Opal::UI
- Opal::VCR
- Opal::VisualWidth