rat-salsa

Crates.iorat-salsa
lib.rsrat-salsa
version2.1.0
created_at2024-06-10 18:29:37.64972+00
updated_at2025-09-09 05:21:41.997316+00
descriptionratatui widgets and a crossterm event-loop
homepage
repositoryhttps://github.com/thscharler/rat-salsa
max_upload_size
id1267458
size363,725
(thscharler)

documentation

README

semver stable crates.io Documentation License License

rat-salsa-2

Runs an application event-loop for ratatui and crossterm.

It can

All incoming events are converted to an application defined event-type, and are distributed by calling an event-handler function. This function returns a control-flow which dictates further actions.

Changes

Changes

Book

... coming soon(ish) ...

Companion Crates

  • rat-widget widget library. Incorporates everything below, but each crate can be used on its own too.

    Foundational crates

    • rat-event Defines the primitives for event-handling.
    • rat-cursor Defines just one trait to propagate the required screen cursor position.
    • rat-focus Primitives for focus-handling.
    • rat-reloc Relocate widgets after rendering. Needed support for view-like widgets.
    • rat-scrolled Utility widgets for scrolling.
    • rat-popup Utility widget to help with popups.
    • rat-dialog Stacks windows/dialogs above the main application.

    Crates for specific widgets

    • rat-ftable table. uses traits to render your data, and renders only the visible cells. this makes rendering effectively O(1) in regard to the number of rows.
    • rat-menu Menu widgets.
    • rat-text Text/Value input widgets.
    • rat-markdown Extension for TextArea for markdown.

    And my 10ct on theming.

Example

The examples directory contains some examples

There are some starters too

  • minimal.rs: Minimal application with a menubar and statusbar.
  • ultra.rs: Absolute minimum setup.

image

Commit count: 2479

cargo fmt