From 13ce107a071f8e59fb238d67a42dc78594e69eaf Mon Sep 17 00:00:00 2001 From: ldelossa Date: Wed, 22 Oct 2025 15:42:26 -0400 Subject: [PATCH] fix: make keep_terminal_focus work with floating windows Determine if claudecode.nvim is ran inside a floating terminal via snacks.nvim. If it is, allow it to be returned by find_claudecode_terminal_window(). Prior to this commit the `keep_terminal_focus=true` configuration would not work when a floating terminal window is configured. Signed-off-by: ldelossa --- lua/claudecode/diff.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lua/claudecode/diff.lua b/lua/claudecode/diff.lua index d590710..766022d 100644 --- a/lua/claudecode/diff.lua +++ b/lua/claudecode/diff.lua @@ -104,7 +104,10 @@ local function find_claudecode_terminal_window() for _, win in ipairs(vim.api.nvim_list_wins()) do if vim.api.nvim_win_get_buf(win) == terminal_bufnr then local win_config = vim.api.nvim_win_get_config(win) - if not (win_config.relative and win_config.relative ~= "") then + local terminal_floating = (config.terminal.snacks_win_opts + and config.terminal.snacks_win_opts.position + and config.terminal.snacks_win_opts.position ~= "") + if terminal_floating or (not (win_config.relative and win_config.relative ~= "")) then return win end end