Repolode
gyscos

gyscos/cursive

デフォルトでcrosstermバックエンドを使用し、ターミナルアプリ向けのリッチなTUIを構築できるRustライブラリです。

スター
4,857
フォーク
272
未解決の Issue
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バックエンドを使用し、ターミナルアプリ向けのリッチな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 の数値は毎日更新されます。

関連プロジェクト