Repolode
gyscos

gyscos/cursive

crossterm을 기본 백엔드로 사용하는, 터미널 애플리케이션용 리치 텍스트 UI(TUI) 구축을 위한 Rust 라이브러리입니다.

스타
4,857
포크
272
열린 이슈
207
마지막 커밋
27일 전

어떤 프로젝트인가요?

Cursive는 Rust용 텍스트 사용자 인터페이스(TUI) 라이브러리로, 개발자가 창, 대화상자, 메뉴, 레이아웃을 갖춘 인터랙티브 터미널 애플리케이션을 만들 수 있게 해줍니다. 기본적으로 crossterm 백엔드를 사용하며, 다른 백엔드도 사용할 수 있습니다.

대화상자, 텍스트 뷰, 선택 목록과 같은 미리 준비된 뷰를 조합해 애플리케이션을 구성하고, 라이브러리가 이벤트 루프를 실행해 키보드 입력과 콜백을 처리합니다. 간단한 앱을 쉽게 만들 수 있으면서 복잡한 실시간 프로그램이나 게임에도 충분히 유연한 것을 목표로 하며, 대부분의 기능은 기본 Linux TTY에서 동작합니다.

또한 테이블, 탭, 트리, 마크업 렌더링, Vim과 유사한 키 래퍼 등을 제공하는 서드파티 뷰 생태계도 갖추고 있습니다.

핵심 기능

  • 01대화상자, 텍스트 뷰, 목록과 같은 미리 준비된 뷰를 조합해 터미널 UI를 만듭니다.
  • 02기본적으로 crossterm 백엔드를 사용하며, 다른 백엔드도 사용할 수 있습니다.
  • 03키보드 입력과 콜백을 처리하는 이벤트 루프를 제공합니다.
  • 04기본 색상과 UTF-8 출력을 지원하며, 와이드 문자는 초기 지원 단계입니다.
  • 05테이블, 탭, 트리 등을 위한 서드파티 뷰 크레이트를 제공합니다.

활용 사례

  • 메뉴, 입력 폼 또는 대화상자가 필요한 인터랙티브 명령줄 도구를 작성합니다.
  • menuconfig나 nmtui와 유사한 터미널 대시보드 또는 설정 도구를 만듭니다.
  • Rust로 간단한 터미널 게임을 만듭니다.

빠른 시작

  1. 1

    Cargo.toml에 cursive crate를 추가합니다

    cargo add cursive
  2. 2

    root를 만들고 main.rs에서 간단한 대화상자 앱을 실행합니다

사용 전 알아둘 점

  • Cursive는 UTF-8 로캘을 전제로 하므로 Linux raw TTY에서는 지원이 제한될 수 있습니다.
  • 오른쪽에서 왼쪽으로 쓰는 텍스트 지원은 아직 초기 단계입니다.

토픽

자주 묻는 질문

cursive은(는) 무엇인가요?
crossterm을 기본 백엔드로 사용하는, 터미널 애플리케이션용 리치 텍스트 UI(TUI) 구축을 위한 Rust 라이브러리입니다. Cursive는 Rust용 텍스트 사용자 인터페이스(TUI) 라이브러리로, 개발자가 창, 대화상자, 메뉴, 레이아웃을 갖춘 인터랙티브 터미널 애플리케이션을 만들 수 있게 해줍니다. 기본적으로 crossterm 백엔드를 사용하며, 다른 백엔드도 사용할 수 있습니다.
cursive은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
cursive은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
cursive은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. cursive의 마지막 커밋은 2026년 9월 25일입니다.
cursive은(는) 어디에 사용할 수 있나요?
메뉴, 입력 폼 또는 대화상자가 필요한 인터랙티브 명령줄 도구를 작성합니다. menuconfig나 nmtui와 유사한 터미널 대시보드 또는 설정 도구를 만듭니다. Rust로 간단한 터미널 게임을 만듭니다.
cursive는 어떻게 설치하나요?
Cargo.toml에 cursive crate를 추가합니다: cargo add cursive root를 만들고 main.rs에서 간단한 대화상자 앱을 실행합니다
cursive은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gyscos/cursive

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트