refactor(git): consolidate empty_buf with optional name + bufhidden

This commit is contained in:
2026-04-27 13:50:01 +02:00
parent b4c166e86c
commit bbaa0b4a6d
2 changed files with 18 additions and 16 deletions
+14 -2
View File
@@ -110,14 +110,26 @@ function M.git_show_blob(worktree, blob)
return buf
end
---@class ow.Git.EmptyBufOpts
---@field name string?
---@field bufhidden ("hide"|"wipe")? defaults to "wipe"
---Build a read-only scratch buffer, optionally naming it via
---`nvim_buf_set_name` (silently no-op if a buffer with that name
---already exists).
---@param opts ow.Git.EmptyBufOpts?
---@return integer
function M.empty_buf()
function M.empty_buf(opts)
opts = opts or {}
local buf = vim.api.nvim_create_buf(false, true)
vim.bo[buf].buftype = "nofile"
vim.bo[buf].bufhidden = "wipe"
vim.bo[buf].bufhidden = opts.bufhidden or "wipe"
vim.bo[buf].swapfile = false
vim.bo[buf].modifiable = false
vim.bo[buf].modified = false
if opts.name then
pcall(vim.api.nvim_buf_set_name, buf, opts.name)
end
return buf
end