Skip to content

Commit e20e64a

Browse files
committed
refactor: save_buffer helper
1 parent aa0dd8c commit e20e64a

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

after/ftplugin/gpchat.lua

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -76,18 +76,6 @@ if M.config.chat_conceal_model_params then
7676
vim.fn.matchadd("Conceal", [[^- role: .[^\\]*\zs\\.*\ze]], 10, -1, { conceal = "" })
7777
end
7878

79-
vim.api.nvim_create_autocmd({ "BufEnter", "WinEnter" }, {
80-
buffer = buf,
81-
callback = function(event)
82-
if M.helpers.deleted_invalid_autocmd(buf, event) then
83-
return
84-
end
85-
-- M.logger.debug("gpchat: entering buffer " .. buf .. " " .. vim.json.encode(event))
86-
87-
vim.cmd("doautocmd User GpRefresh")
88-
end,
89-
})
90-
9179
vim.api.nvim_create_autocmd({ "BufEnter", "TextChanged", "InsertLeave" }, {
9280
buffer = buf,
9381
callback = function(event)
@@ -115,8 +103,7 @@ vim.api.nvim_create_autocmd({ "BufEnter", "TextChanged", "InsertLeave" }, {
115103
M.helpers.delete_file(filename)
116104
end
117105

118-
-- M.logger.debug("gpchat: saving buffer " .. buf .. " " .. vim.json.encode(event))
119-
vim.api.nvim_command("silent! write")
106+
M.helpers.save_buffer(buf, "gpchat TextChanged InsertLeave autocmd")
120107
end,
121108
})
122109
vim.api.nvim_create_autocmd({ "User" }, {
@@ -143,5 +130,7 @@ vim.api.nvim_create_autocmd({ "User" }, {
143130
},
144131
hl_mode = "combine",
145132
})
133+
134+
M.helpers.save_buffer(buf, "gpchat User GpRefresh autocmd")
146135
end,
147136
})

after/ftplugin/gpmd.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ vim.api.nvim_create_autocmd({ "TextChanged", "InsertLeave" }, {
1515
return
1616
end
1717
M.logger.debug("gpmd: saving buffer " .. buf .. " " .. vim.json.encode(event))
18-
vim.api.nvim_command("silent! write")
18+
M.helpers.save_buffer(buf, "gpmd TextChanged InsertLeave autocmd")
1919
end,
2020
})
2121

lua/gp/helper.lua

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,4 +340,19 @@ _H.deleted_invalid_autocmd = function(buf, event)
340340
return false
341341
end
342342

343+
---@param buf number # buffer number
344+
---@param caller string | nil # cause of the save
345+
---@return boolean # true if successful, false otherwise
346+
_H.save_buffer = function(buf, caller)
347+
if not vim.api.nvim_buf_is_valid(buf) then
348+
return false
349+
end
350+
local success = pcall(vim.api.nvim_buf_call, buf, function()
351+
vim.cmd('silent! write')
352+
end)
353+
caller = caller or "unknown"
354+
logger.debug("saving buffer: " .. buf .. " success: " .. vim.inspect(success) .. " caller: " .. vim.inspect(caller))
355+
return success
356+
end
357+
343358
return _H

0 commit comments

Comments
 (0)