Repolode
gyscos

gyscos/cursive

Biblioteca Rust para criar interfaces de usuário em modo texto (TUI) em aplicativos de terminal, com crossterm como backend padrão.

Estrelas
4,857
Forks
272
Issues abertas
207
Último commit
há 27 dias

O que é?

Cursive é uma biblioteca de interface de usuário em modo texto para Rust que permite criar aplicativos interativos de terminal com janelas, diálogos, menus e layouts. Ela usa crossterm como backend padrão, mas também oferece outros backends.

Os aplicativos são montados com views prontas, como diálogos, visualizações de texto e listas de seleção, e a biblioteca executa um loop de eventos que distribui entradas do teclado e callbacks. Entre os objetivos declarados estão facilitar a criação de aplicativos simples e oferecer flexibilidade suficiente para programas ou jogos complexos em tempo real, com a maioria dos recursos funcionando em um TTY Linux básico.

O projeto também conta com um ecossistema de terceiros de views adicionais, como tabelas, abas, árvores, renderização de markup e um wrapper de teclas semelhante ao do Vim.

Recursos principais

  • 01Cria UIs de terminal com views prontas, como diálogos, visualizações de texto e listas.
  • 02Usa crossterm como backend padrão, mas também oferece outros backends.
  • 03Oferece um loop de eventos que trata entradas do teclado e callbacks.
  • 04Oferece cores básicas e saída UTF-8, com suporte inicial a caracteres de largura dupla.
  • 05Conta com um conjunto de crates de terceiros com views para tabelas, abas, árvores e muito mais.

Casos de uso

  • Criar ferramentas interativas de linha de comando que precisam de menus, formulários ou diálogos.
  • Criar dashboards de terminal ou ferramentas de configuração semelhantes ao menuconfig ou ao nmtui.
  • Criar jogos simples de terminal em Rust.

Início rápido

  1. 1

    Adicione o crate cursive ao Cargo.toml

    cargo add cursive
  2. 2

    Crie um root e execute um app de diálogo simples em main.rs

Antes de usar

  • O Cursive espera uma localidade UTF-8, então o suporte a TTYs raw do Linux pode ser limitado.
  • O suporte a texto da direita para a esquerda ainda está em estágio bem inicial.

Tópicos

Perguntas frequentes

O que é cursive?
Biblioteca Rust para criar interfaces de usuário em modo texto (TUI) em aplicativos de terminal, com crossterm como backend padrão. Cursive é uma biblioteca de interface de usuário em modo texto para Rust que permite criar aplicativos interativos de terminal com janelas, diálogos, menus e layouts. Ela usa crossterm como backend padrão, mas também oferece outros backends.
cursive é gratuito? Qual é a licença?
cursive é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
cursive ainda é mantido?
Manutenção ativa. O último commit de cursive foi em 25 de set. de 2026.
Para que posso usar cursive?
Criar ferramentas interativas de linha de comando que precisam de menus, formulários ou diálogos. Criar dashboards de terminal ou ferramentas de configuração semelhantes ao menuconfig ou ao nmtui. Criar jogos simples de terminal em Rust.
Como instalar cursive?
Adicione o crate cursive ao Cargo.toml: cargo add cursive Crie um root e execute um app de diálogo simples em main.rs
Onde consigo cursive?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/gyscos/cursive

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados