From 5ee284c08f5537e87c3f271073e4d8917ceb7d1b Mon Sep 17 00:00:00 2001 From: gh-liu Date: Mon, 20 Apr 2026 09:48:12 +0800 Subject: [PATCH] feat: pin context window Problem: context windows could be closed by `:only` or `:fc` commands Solution: use the new window-local `winpinned` introduced in https://github.com/neovim/neovim/pull/39157 --- lua/treesitter-context/render.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/treesitter-context/render.lua b/lua/treesitter-context/render.lua index 817647b2..1e49693b 100644 --- a/lua/treesitter-context/render.lua +++ b/lua/treesitter-context/render.lua @@ -66,6 +66,9 @@ local function display_window(winid, context_winid, width, height, col, ty, hl) vim.wo[context_winid].foldenable = false vim.wo[context_winid].winhl = 'NormalFloat:' .. hl vim.wo[context_winid].conceallevel = vim.wo[winid].conceallevel + if fn.exists('&winpinned') == 1 then + api.nvim_set_option_value('winpinned', true, { win = context_winid }) + end elseif api.nvim_win_is_valid(context_winid) then api.nvim_win_set_config(context_winid, { win = winid,