refactor(git): consolidate empty_buf with optional name + bufhidden
This commit is contained in:
+14
-2
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user