tuit-bin-0.1.0 is not a library.
tuit
tuit は、ターミナル上で動作する Git ログビューアです。Rust と ratatui で構築されています。
カレントディレクトリの Git リポジトリを開き、現在のブランチのコミット一覧をスクロール可能なリストで表示します。コミットを選択すると、そのコミットの本文と diff をオーバーレイで確認できます。すべての操作はキーボードだけで完結します。
インストール
crates.io からインストール
前提条件
- Rust ツールチェーン (edition 2024、Rust 1.85 以降推奨)
ソースからビルド
ビルドされたバイナリは target/release/tuit に配置されます。お好みで $PATH の通ったディレクトリにコピーしてください。
使い方
Git リポジトリ内で 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)
= "monokai"
= 3000
= 5000
| 項目 | 説明 | デフォルト値 |
|---|---|---|
theme |
使用するテーマ名 (default または themes/ 下のファイル名) |
"default" |
poll_interval_ms |
Git ポーリング間隔 (ミリ秒) | 2000 |
notification_timeout_ms |
HEAD 移動通知の表示時間 (ミリ秒) | 3000 |
テーマ
デフォルトのテーマは Catppuccin Mocha を基調としたダークテーマです。~/.config/tuit/themes/<name>.toml にテーマファイルを作成し、config.toml で theme = "<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 の追加行・削除行・コンテキスト行の色
技術スタック
- 言語: Rust (edition 2024)
- UI フレームワーク: ratatui + crossterm
- Git データアクセス: gix (gitoxide) — 純 Rust 実装、
gitCLI への依存なし - diff 生成: imara-diff
- 設定管理: TOML + directories (XDG 準拠のパス解決)
ライセンス
MIT License — 詳細は LICENSE を参照してください。