only make one scratch buffer ever

This commit is contained in:
Ivar Fatland
2025-12-12 08:51:55 +01:00
parent c5d28c5a47
commit 8f20413457
+8 -5
View File
@@ -217,7 +217,10 @@ vim.api.nvim_create_autocmd('BufEnter', {
do do
-- one shared statusline looks better for the split. -- one shared statusline looks better for the split.
vim.o.laststatus = 3 vim.o.laststatus = 3
local buf = vim.api.nvim_create_buf(false, true) local ID = '4f2de2e3-a1bf-481f-919c-7f68ec6511c9'
local buf = _G[ID]
if buf == nil then
buf = vim.api.nvim_create_buf(false, true)
vim.api.nvim_set_option_value('buftype', 'nofile', {buf = buf}) vim.api.nvim_set_option_value('buftype', 'nofile', {buf = buf})
vim.api.nvim_set_option_value('modifiable', false, {buf = buf}) vim.api.nvim_set_option_value('modifiable', false, {buf = buf})
vim.api.nvim_create_autocmd('WinEnter', { vim.api.nvim_create_autocmd('WinEnter', {
@@ -228,14 +231,14 @@ do
end end
end end
}) })
vim.api.nvim_buf_set_var(buf, ID, true)
local PADDING_ID = '4f2de2e3-a1bf-481f-919c-7f68ec6511c9' _G[ID] = buf
vim.api.nvim_buf_set_var(buf, PADDING_ID, true) end
local function get_padding_window() local function get_padding_window()
local windows = vim.api.nvim_list_wins() local windows = vim.api.nvim_list_wins()
for _, win in ipairs(windows) do for _, win in ipairs(windows) do
local ok, _ = pcall(vim.api.nvim_buf_get_var, vim.api.nvim_win_get_buf(win), PADDING_ID) local ok, _ = pcall(vim.api.nvim_buf_get_var, vim.api.nvim_win_get_buf(win), ID)
if ok then if ok then
return win return win
end end