## 経緯
[[コミットグラフ]]の参照ツールとして[[Serie]]が非常に良い。ただ、diffの詳細表示は[[git diffをDeltaで表示 (Serie)|git diffをDeltaで表示]]するに留まっている。ガッツリ見たい時もあるので、できれば[[Diffview.nvim]]で開きたい。
- 今のところそのような機能はなさそう
- [[User Command (Serie)|User Command]] で開くと、標準出力が返ってこないのでそのまま固まる
ならば試しに機能追加してみよう。
## 方法
[[Codex CLI]] + [[GPT-5.2-Codex]] high で実装した。
> [!right-bubble] ![[minerva-face-right.webp]]
> user_commandの実行は現状だと以下の挙動となる。
>
> 1. 結果をserieの特定領域にrenderする (pagingもserie側で制御. stdoutを受け取るだけ)
> 2. 1が取得できるまではblockになる
>
> これとは別にnon-blockで別プロセスを起動するようにしたい。
>
> 具体的なユースケースとしては、user_commandと同じようにコマンドを指定してNeovimのDiffview.nvimを起動したい。
>
> ```
> nvim -c 'DiffviewOpen "{{first_parent_hash}}" "{{target_hash}}"'
> ```
>
> のようなイメージでNeovimがfrontで表示され、Neovimを終了したら元のserieに戻るという感じ。
2回のやりとりで期待通り動いてしまったが、実装の妥当性などは分かっていない。
## Issue
PRではなくIssueで起票する。この機能が[[Serie]]の趣旨に従うかは不明なのと、[[Codex CLI]]に実装してもらったのもあり、PRを出すのは微妙だと思うし。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" />
<span class="link-card-v2-site-name">GitHub</span>
</div>
<div class="link-card-v2-title">
Better support for large repositories and external diff tools · Issue #121 · lusingander/serie
</div>
<div class="link-card-v2-content">
First off, thanks for building such a fantastic tool! I usually rely on LazyGit, but I've struggled to find a go ...
</div>
<img class="link-card-v2-image" src="https://opengraph.githubassets.com/455b029d665225c4cb476d7f12bae5614cf5fb5bb877e70eeb0ab6c20683b88e/lusingander/serie/issues/121" />
<a href="https://github.com/lusingander/serie/issues/121"></a>
</div>