Merge Foundation #2
+21
-5
@@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
local buffer_list = {
|
||||||
|
'test',
|
||||||
|
}
|
||||||
|
|
||||||
local buffers = {}
|
local buffers = {}
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
@@ -10,11 +14,11 @@ end
|
|||||||
|
|
||||||
-- should return created chai buffer
|
-- should return created chai buffer
|
||||||
local function resolve_buffer_path(path)
|
local function resolve_buffer_path(path)
|
||||||
if string.match(path, '^chai://test/?$') then
|
for _, value in ipairs(buffer_list) do
|
||||||
local buffer = vim.deepcopy(require('chai.buffers.test'))
|
local buf = require('chai.buffers.' .. value).check(path)
|
||||||
buffer.args = {}
|
if buf ~= nil then
|
||||||
|
return buf
|
||||||
return buffer
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- user is idiot imbecyle etc
|
-- user is idiot imbecyle etc
|
||||||
@@ -29,6 +33,9 @@ function M.create_buffer(buffer)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function M.destroy_buffer(buffer)
|
function M.destroy_buffer(buffer)
|
||||||
|
if buffers[buffer] == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
if type(buffers[buffer].destroy) == 'function' then
|
if type(buffers[buffer].destroy) == 'function' then
|
||||||
buffers[buffer].destroy(buffer)
|
buffers[buffer].destroy(buffer)
|
||||||
end
|
end
|
||||||
@@ -36,18 +43,27 @@ function M.destroy_buffer(buffer)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function M.on_hide(buffer)
|
function M.on_hide(buffer)
|
||||||
|
if buffers[buffer] == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
if type(buffers[buffer].on_hide) == 'function' then
|
if type(buffers[buffer].on_hide) == 'function' then
|
||||||
buffers[buffer].on_hide(buffer)
|
buffers[buffer].on_hide(buffer)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.on_enter(buffer)
|
function M.on_enter(buffer)
|
||||||
|
if buffers[buffer] == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
if type(buffers[buffer].on_enter) == 'function' then
|
if type(buffers[buffer].on_enter) == 'function' then
|
||||||
buffers[buffer].on_enter(buffer)
|
buffers[buffer].on_enter(buffer)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.on_write(buffer)
|
function M.on_write(buffer)
|
||||||
|
if buffers[buffer] == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
if type(buffers[buffer].on_write) == 'function' then
|
if type(buffers[buffer].on_write) == 'function' then
|
||||||
buffers[buffer].on_write(buffer)
|
buffers[buffer].on_write(buffer)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,8 +1,18 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
function M.init(vim_buffer)
|
local Buffer = {}
|
||||||
|
|
||||||
|
function Buffer.init(vim_buffer)
|
||||||
vim.api.nvim_buf_set_lines(vim_buffer, 0, -1, false, { "press q to exit" })
|
vim.api.nvim_buf_set_lines(vim_buffer, 0, -1, false, { "press q to exit" })
|
||||||
|
|
||||||
|
local provider_list = { "Providers:" }
|
||||||
|
|
||||||
|
for key, value in pairs(require('chai.config').options.providers) do
|
||||||
|
table.insert(provider_list, key .. " " .. value.url)
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_buf_set_lines(vim_buffer, 3, -1, false, provider_list)
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x" }, "q", function()
|
vim.keymap.set({ "n", "x" }, "q", function()
|
||||||
vim.api.nvim_buf_delete(vim_buffer, { force = true })
|
vim.api.nvim_buf_delete(vim_buffer, { force = true })
|
||||||
end, { buffer = vim_buffer })
|
end, { buffer = vim_buffer })
|
||||||
@@ -11,4 +21,14 @@ function M.init(vim_buffer)
|
|||||||
vim.bo[vim_buffer].modified = false
|
vim.bo[vim_buffer].modified = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function M.check(path)
|
||||||
|
if string.match(path, '^chai://test/?$') then
|
||||||
|
local buffer = vim.deepcopy(Buffer)
|
||||||
|
buffer.args = {}
|
||||||
|
|
||||||
|
return buffer
|
||||||
|
end
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
Reference in New Issue
Block a user