coder / coder/claudecode.nvim

[BUG] floating window does not disappear when diff view is shown

オープン
#180 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
Lua
スター
3.1k
フォーク
216
PR マージ指標
30日以内にマージされた PR はありません

説明

## Bug Description

With `terminal.snacks_win_opts.position` is set to `float`, the floating window does not disappear when a diff view is opened. Instead, the diff view is visible and has cursor focus. Calling `ClaudeCodeFocus` will switch focus to the open floating window. Calling it again will make the window disappear and switch to the diff view. However, this is a very cumbersome workaround.

My config:
```
{
terminal_cmd = "~/.claude/local/claude",
diff_opts = {
keep_terminal_focus = false,
},
terminal = {
snacks_win_opts = {
position="float",
width=0.9,
height=0.9,
backdrop={
bg="blue",
blend=90,
},
keys = {
claude_hide = {
toggle_key,
function(self)
self:hide()
end,
mode="t",
desc="Hide",
}
},
}
}
}

```

## To Reproduce

Steps to reproduce the behavior:

1. Open a file and launch Claude Code by calling `ClaudeCodeFocus`.
2. Ask Claude to produce a change to the code.
3. Observe that the diff view opens, with the cursor on it, but the floating window is still visible mostly obscuring it.

## Expected Behavior

The floating window should disappear when the diff view opens.

## Environment

- Neovim version: 0.9.5 (0.9.5-6ubuntu2)
- Claude Code CLI version: 2.1.19
- OS: Ubuntu 24.04.3 LTS
- Plugin version: main (93f8e48)
- Snacks version: 2.27.0

Image

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

issue では ClaudeCodeFocus と diff-view フローについて言及されています。terminal.snacks_win_opts.position を float に設定し、diff_opts.keep_terminal_focus=false にして再現してください。ClaudeCodeFocus と diff のオープン処理周辺のフォーカスおよびウィンドウ処理を追跡し、その後、diff を開くと 2 回目のフォーカス呼び出しなしでフローティングウィンドウが非表示になることを確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
lua, neovim
領域
tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。