Repolode
gyscos

gyscos/cursive

Una biblioteca de Rust para crear interfaces de usuario de texto enriquecido (TUI) en aplicaciones de terminal, con crossterm como backend predeterminado.

Estrellas
4,857
Forks
272
Issues abiertos
207
Último commit
hace 27 días

¿Qué es?

Cursive es una biblioteca de interfaz de usuario de texto para Rust que permite crear aplicaciones interactivas de terminal con ventanas, diálogos, menús y diseños. Usa crossterm como backend predeterminado, aunque también hay otros backends disponibles.

Las aplicaciones se construyen con vistas listas para usar, como diálogos, vistas de texto y listas de selección. La biblioteca ejecuta un bucle de eventos que distribuye la entrada del teclado y las funciones callback. Entre sus objetivos declarados están facilitar la creación de aplicaciones sencillas y ofrecer suficiente flexibilidad para programas complejos en tiempo real o juegos; la mayoría de las funciones también funcionan en una TTY estándar de Linux.

El proyecto cuenta además con un ecosistema de terceros que ofrece vistas adicionales, como tablas, pestañas, árboles, renderizado de marcado y un wrapper de teclas similar al de Vim.

Funciones clave

  • 01Permite crear interfaces de terminal a partir de vistas listas para usar, como diálogos, vistas de texto y listas.
  • 02Usa crossterm como backend predeterminado y ofrece otros backends.
  • 03Proporciona un bucle de eventos que gestiona la entrada del teclado y las funciones callback.
  • 04Admite colores básicos y salida UTF-8, además de compatibilidad inicial con caracteres de ancho doble.
  • 05Cuenta con un conjunto de crates de terceros con vistas para tablas, pestañas, árboles y más.

Casos de uso

  • Crear herramientas interactivas de línea de comandos que necesiten menús, formularios o diálogos.
  • Crear paneles de terminal o herramientas de configuración similares a menuconfig o nmtui.
  • Crear juegos sencillos de terminal en Rust.

Inicio rápido

  1. 1

    Añade el crate cursive a Cargo.toml

    cargo add cursive
  2. 2

    Crea un root y ejecuta una aplicación de diálogo sencilla en main.rs

Antes de usarlo

  • Cursive espera una configuración regional UTF-8, por lo que la compatibilidad con terminales TTY sin procesar de Linux puede ser limitada.
  • La compatibilidad con texto de derecha a izquierda aún está en una fase muy inicial.

Temas

Preguntas frecuentes

¿Qué es cursive?
Una biblioteca de Rust para crear interfaces de usuario de texto enriquecido (TUI) en aplicaciones de terminal, con crossterm como backend predeterminado. Cursive es una biblioteca de interfaz de usuario de texto para Rust que permite crear aplicaciones interactivas de terminal con ventanas, diálogos, menús y diseños. Usa crossterm como backend predeterminado, aunque también hay otros backends disponibles.
¿cursive es gratuito? ¿Qué licencia tiene?
cursive es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿cursive sigue mantenido?
Mantenimiento activo. El último commit de cursive fue el 25 sept 2026.
¿Para qué puedo usar cursive?
Crear herramientas interactivas de línea de comandos que necesiten menús, formularios o diálogos. Crear paneles de terminal o herramientas de configuración similares a menuconfig o nmtui. Crear juegos sencillos de terminal en Rust.
¿Cómo se instala cursive?
Añade el crate cursive a Cargo.toml: cargo add cursive Crea un root y ejecuta una aplicación de diálogo sencilla en main.rs
¿Dónde consigo cursive?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/gyscos/cursive

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados