refactor(git): extract replace_buf_lines helper
This commit is contained in:
+1
-10
@@ -100,16 +100,7 @@ local function run_in_split(r, args, conf)
|
||||
end
|
||||
end
|
||||
vim.bo[buf].filetype = conf.ft
|
||||
vim.bo[buf].modifiable = true
|
||||
vim.api.nvim_buf_set_lines(
|
||||
buf,
|
||||
0,
|
||||
-1,
|
||||
false,
|
||||
util.split_lines(stdout)
|
||||
)
|
||||
vim.bo[buf].modifiable = false
|
||||
vim.bo[buf].modified = false
|
||||
util.replace_buf_lines(buf, util.split_lines(stdout))
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
+1
-5
@@ -199,11 +199,7 @@ local function populate(buf, r, rev, state, rev_sha)
|
||||
end
|
||||
end
|
||||
|
||||
local was_modifiable = vim.bo[buf].modifiable
|
||||
vim.bo[buf].modifiable = true
|
||||
vim.api.nvim_buf_set_lines(buf, 0, -1, false, util.split_lines(stdout))
|
||||
vim.bo[buf].modifiable = was_modifiable
|
||||
vim.bo[buf].modified = false
|
||||
util.replace_buf_lines(buf, util.split_lines(stdout))
|
||||
state.sha = rev_sha
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -132,9 +132,7 @@ local function render(bufnr, status)
|
||||
end
|
||||
end
|
||||
|
||||
vim.bo[bufnr].modifiable = true
|
||||
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
||||
vim.bo[bufnr].modifiable = false
|
||||
util.replace_buf_lines(bufnr, lines)
|
||||
vim.api.nvim_buf_clear_namespace(bufnr, ns, 0, -1)
|
||||
for _, m in ipairs(marks) do
|
||||
vim.api.nvim_buf_set_extmark(bufnr, ns, m.row, m.col, {
|
||||
|
||||
@@ -80,6 +80,16 @@ function M.debug(fmt, ...)
|
||||
vim.notify(fmt:format(...), vim.log.levels.DEBUG)
|
||||
end
|
||||
|
||||
---@param buf integer
|
||||
---@param lines string[]
|
||||
function M.replace_buf_lines(buf, lines)
|
||||
local was_modifiable = vim.bo[buf].modifiable
|
||||
vim.bo[buf].modifiable = true
|
||||
vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines)
|
||||
vim.bo[buf].modifiable = was_modifiable
|
||||
vim.bo[buf].modified = false
|
||||
end
|
||||
|
||||
---@param content string
|
||||
---@return string[]
|
||||
function M.split_lines(content)
|
||||
|
||||
Reference in New Issue
Block a user