refactor: improve buffer system

This commit is contained in:
2026-07-17 00:52:12 +02:00
parent af6a952cd8
commit 15467ba8f0
2 changed files with 42 additions and 6 deletions
+21 -5
View File
@@ -2,6 +2,10 @@
local M = {}
local buffer_list = {
'test',
}
local buffers = {}
function M.setup()
@@ -10,11 +14,11 @@ end
-- should return created chai buffer
local function resolve_buffer_path(path)
if string.match(path, '^chai://test/?$') then
local buffer = vim.deepcopy(require('chai.buffers.test'))
buffer.args = {}
return buffer
for _, value in ipairs(buffer_list) do
local buf = require('chai.buffers.' .. value).check(path)
if buf ~= nil then
return buf
end
end
-- user is idiot imbecyle etc
@@ -29,6 +33,9 @@ function M.create_buffer(buffer)
end
function M.destroy_buffer(buffer)
if buffers[buffer] == nil then
return
end
if type(buffers[buffer].destroy) == 'function' then
buffers[buffer].destroy(buffer)
end
@@ -36,18 +43,27 @@ function M.destroy_buffer(buffer)
end
function M.on_hide(buffer)
if buffers[buffer] == nil then
return
end
if type(buffers[buffer].on_hide) == 'function' then
buffers[buffer].on_hide(buffer)
end
end
function M.on_enter(buffer)
if buffers[buffer] == nil then
return
end
if type(buffers[buffer].on_enter) == 'function' then
buffers[buffer].on_enter(buffer)
end
end
function M.on_write(buffer)
if buffers[buffer] == nil then
return
end
if type(buffers[buffer].on_write) == 'function' then
buffers[buffer].on_write(buffer)
end