Repolode
gyscos

gyscos/cursive

Библиотека на Rust для создания насыщенных текстовых интерфейсов в терминальных приложениях; по умолчанию использует бэкенд crossterm.

Звёзды
4,857
Форки
272
Открытые issues
207
Последний коммит
27 дней назад

Что это?

Cursive — библиотека для создания текстовых интерфейсов на Rust. Она позволяет разрабатывать интерактивные терминальные приложения с окнами, диалогами, меню и компоновками. По умолчанию используется бэкенд crossterm, также доступны другие бэкенды.

Приложения собираются из готовых представлений, таких как диалоги, текстовые представления и списки выбора. Библиотека запускает цикл обработки событий, который распределяет ввод с клавиатуры и вызовы обратных функций. Среди заявленных целей проекта — простота использования для небольших приложений и достаточная гибкость для сложных программ реального времени и игр; большинство возможностей работает в обычном Linux TTY.

У проекта также есть сторонняя экосистема дополнительных представлений: таблицы, вкладки, деревья, отображение разметки и обёртка для клавиш в стиле Vim.

Ключевые возможности

  • 01Создание терминальных интерфейсов из готовых представлений, таких как диалоги, текстовые представления и списки.
  • 02По умолчанию используется бэкенд crossterm; доступны и другие бэкенды.
  • 03Цикл обработки событий принимает ввод с клавиатуры и запускает обратные вызовы.
  • 04Поддерживаются базовые цвета и вывод UTF-8, а также начальная поддержка широких символов.
  • 05Есть набор сторонних crates с представлениями для таблиц, вкладок, деревьев и не только.

Сценарии использования

  • Разработка интерактивных инструментов командной строки с меню, формами или диалогами.
  • Создание терминальных панелей мониторинга и инструментов настройки наподобие menuconfig или nmtui.
  • Создание простых игр для терминала на Rust.

Быстрый старт

  1. 1

    Добавьте crate cursive в Cargo.toml

    cargo add cursive
  2. 2

    Создайте root и запустите простое диалоговое приложение в main.rs

Что важно знать

  • Cursive рассчитан на локаль UTF-8, поэтому поддержка необработанных TTY в Linux может быть ограниченной.
  • Поддержка текста с направлением письма справа налево пока находится на самой ранней стадии.

Темы

Частые вопросы

Что такое cursive?
Библиотека на Rust для создания насыщенных текстовых интерфейсов в терминальных приложениях; по умолчанию использует бэкенд crossterm. Cursive — библиотека для создания текстовых интерфейсов на Rust. Она позволяет разрабатывать интерактивные терминальные приложения с окнами, диалогами, меню и компоновками. По умолчанию используется бэкенд crossterm, также доступны другие бэкенды.
cursive можно использовать бесплатно? Какая у него лицензия?
cursive распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
cursive всё ещё поддерживается?
Активно поддерживается. Последний коммит в cursive — 25 сент. 2026 г..
Для чего можно использовать cursive?
Разработка интерактивных инструментов командной строки с меню, формами или диалогами. Создание терминальных панелей мониторинга и инструментов настройки наподобие menuconfig или nmtui. Создание простых игр для терминала на Rust.
Как установить cursive?
Добавьте crate cursive в Cargo.toml: cargo add cursive Создайте root и запустите простое диалоговое приложение в main.rs
Где скачать cursive?
Исходный код и инструкции по установке — на GitHub: https://github.com/gyscos/cursive

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты