tuit-bin 0.1.1

A TUI git log viewer built with ratatui and gix (gitoxide)
tuit-bin-0.1.1 is not a library.

tuit

tuit は、ターミナル上で動作する Git ログビューアです。Rust と ratatui で構築されています。

カレントディレクトリの Git リポジトリを開き、現在のブランチのコミット一覧をスクロール可能なリストで表示します。コミットを選択すると、そのコミットの本文と diff をオーバーレイで確認できます。すべての操作はキーボードだけで完結します。

インストール

crates.io からインストール

cargo install tuit-bin

前提条件

  • Rust ツールチェーン (edition 2024、Rust 1.85 以降推奨)

ソースからビルド

git clone https://github.com/yoshikikudo/tuit.git
cd tuit
cargo build --release

ビルドされたバイナリは target/release/tuit に配置されます。お好みで $PATH の通ったディレクトリにコピーしてください。

使い方

Git リポジトリ内で tuit を実行するだけです。

cd /path/to/your/repo
tuit

キーバインド

コミット一覧画面

キー 操作
/ k カーソルを上に移動
/ j カーソルを下に移動
Enter 選択中のコミットの詳細を開く
q tuit を終了
? ヘルプオーバーレイを開く

コミット詳細画面 (オーバーレイ)

キー 操作
/ k スクロールアップ
/ j スクロールダウン
Ctrl+f / PageDown 1 ページスクロールダウン
Ctrl+b / PageUp 1 ページスクロールアップ
Esc 詳細を閉じて一覧に戻る
? ヘルプオーバーレイを開く

表示内容

  • コミット一覧: 各コミットの省略ハッシュ (7 文字)、コミットメッセージの件名、作者名、相対タイムスタンプ (3d ago / 2h ago など) を一覧表示します。
  • コミット詳細: 選択したコミットのハッシュ、作者、日付、コミット本文、および unified diff をカラーリング付きで表示します。diff の追加行・削除行・コンテキスト行はそれぞれ色分けされます。
  • ライブ同期: アプリケーション実行中、2 秒ごとに Git リポジトリの状態をポーリングし、新しいコミットや HEAD の移動を自動検出します。HEAD が変わった場合はフッターに通知が表示され、コミット一覧が自動で再読み込みされます。
  • エラー表示: Git リポジトリ外で実行した場合や、空のリポジトリ、破損した .git ディレクトリなどに対しては画面上にエラーメッセージを表示します。

設定

設定ファイルは ~/.config/tuit/config.toml に配置します。テーマファイルは ~/.config/tuit/themes/ ディレクトリに配置します。

設定例 (~/.config/tuit/config.toml)

theme = "monokai"
poll_interval_ms = 3000
notification_timeout_ms = 5000
項目 説明 デフォルト値
theme 使用するテーマ名 (default または themes/ 下のファイル名) "default"
poll_interval_ms Git ポーリング間隔 (ミリ秒) 2000
notification_timeout_ms HEAD 移動通知の表示時間 (ミリ秒) 3000

テーマ

デフォルトのテーマは Catppuccin Mocha を基調としたダークテーマです。~/.config/tuit/themes/<name>.toml にテーマファイルを作成し、config.tomltheme = "<name>" と指定することでカスタマイズできます。

利用可能なカスタマイズ項目:

  • cursor_bg, cursor_fg — 選択行のハイライト色
  • list_bg — 一覧画面の背景色
  • hash, message, author, date — 各フィールドの文字色
  • detail_bg, detail_border — 詳細オーバーレイの背景・枠線色
  • detail_heading, detail_value — 詳細画面の見出し・値の文字色
  • diff_add, diff_del, diff_normal — diff の追加行・削除行・コンテキスト行の色

技術スタック

ライセンス

MIT License — 詳細は LICENSE を参照してください。