Repolode
rivo

rivo/tview

ターミナルUIの構築に使える、フォーム、テーブル、ツリー、リスト、テキストエリアなどの対話型ウィジェットを備えたGoライブラリ。

スター
14,143
フォーク
695
未解決の Issue
106
最終コミット
2 か月前

これは何?

tviewは、ターミナルベースのユーザーインターフェースを構築するためのGoパッケージです。テキストフィールド、選択肢、チェックボックス、ボタンを備えた入力フォーム、キーボードで操作できる複数色のテキストビュー、編集可能なテキストエリア、テーブルビュー、ツリービュー、選択可能なリスト、モーダルメッセージウィンドウなど、よく使われるコンポーネントを提供します。

コンポーネントはgrid、flexbox、ページレイアウトを使って組み合わせられ、アプリケーションラッパーがイベントループを実行します。ウィジェットをカスタマイズしたり、独自のプリミティブを作成したりすることもできます。ターミナル処理にはtcellを、Unicodeテキストの幅の計算にはunisegを使用しています。

このプロジェクトでは、Kubernetes、データベース、クラウドサービスのクライアントなど、tviewで構築された多数のターミナルアプリケーションも紹介しており、さまざまなツールでの活用例がわかります。

主な機能

  • 01テキストフィールド、ドロップダウン選択、チェックボックス、ボタンを備えた入力フォーム
  • 02キーボード操作に対応したテーブル、ツリー、リストビュー
  • 03編集可能な複数行テキストエリアと複数色のテキストビュー
  • 04コンポーネントの配置に使えるgrid、flexbox、ページレイアウト
  • 05モーダルメッセージウィンドウと、イベントループを実行するアプリケーションラッパー
  • 06拡張可能:既存のウィジェットをカスタマイズしたり、独自のプリミティブを作成したりできます

ユースケース

  • Goで対話型のターミナルダッシュボードや監視ツールを構築する
  • テーブルを閲覧できる、データベース、クラウドサービス、API向けのCLIクライアントを作成する
  • 入力検証やメニューが必要な、フォーム主体のターミナルユーティリティを作成する

クイックスタート

  1. 1

    Goプロジェクトにパッケージを追加します

    go get github.com/rivo/tview@master
  2. 2

    READMEのHello Worldの例を使ってGoファイルを作成し、実行します

使う前に知っておきたいこと

  • Primitiveインターフェースの変更や上流のtcellの更新などにより、場合によっては後方互換性が損なわれることがあります。

トピック

よくある質問

tview とは?
ターミナルUIの構築に使える、フォーム、テーブル、ツリー、リスト、テキストエリアなどの対話型ウィジェットを備えたGoライブラリ。 tviewは、ターミナルベースのユーザーインターフェースを構築するためのGoパッケージです。テキストフィールド、選択肢、チェックボックス、ボタンを備えた入力フォーム、キーボードで操作できる複数色のテキストビュー、編集可能なテキストエリア、テーブルビュー、ツリービュー、選択可能なリスト、モーダルメッセージウィンドウなど、よく使われるコンポーネントを提供します。
tview は無料で使えますか?ライセンスは?
tview は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tview は今もメンテナンスされていますか?
半年以内に更新あり。tview の最終コミットは 2026年8月11日 です。
tview は何に使えますか?
Goで対話型のターミナルダッシュボードや監視ツールを構築する テーブルを閲覧できる、データベース、クラウドサービス、API向けのCLIクライアントを作成する 入力検証やメニューが必要な、フォーム主体のターミナルユーティリティを作成する
tview のインストール方法は?
Goプロジェクトにパッケージを追加します: go get github.com/rivo/tview@master READMEのHello Worldの例を使ってGoファイルを作成し、実行します
tview はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/rivo/tview

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト