From c8422da50dee7d725e1a66a5dc6a930e6ac57625 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Thu, 30 Oct 2025 13:50:06 +0100 Subject: [PATCH] fix(scratch): make sure zindex of scratch window is higher than existing floating windows --- lua/snacks/scratch.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/snacks/scratch.lua b/lua/snacks/scratch.lua index 7495318f..03b10bf6 100644 --- a/lua/snacks/scratch.lua +++ b/lua/snacks/scratch.lua @@ -155,6 +155,7 @@ function M.open(opts) opts.name:gsub("|", " "), opts.filekey.cwd and svim.fs.normalize(assert(uv.cwd())) or "", branch, + opts.filekey.custom ~= "" and opts.filekey.custom or nil, } vim.fn.mkdir(opts.root, "p") @@ -183,7 +184,9 @@ function M.open(opts) local buf = vim.fn.bufadd(file) local closed = false + local zindex = opts.win.zindex or 20 for _, win in ipairs(vim.api.nvim_tabpage_list_wins(0)) do + zindex = math.max(zindex, (vim.api.nvim_win_get_config(win).zindex or 0) + 1) if vim.api.nvim_win_get_buf(win) == buf then vim.schedule(function() vim.api.nvim_win_call(win, function() @@ -193,6 +196,7 @@ function M.open(opts) closed = true end end + opts.win.zindex = zindex if closed then return end