local M = {} local group = vim.api.nvim_create_augroup('ChaiAutocmds', { clear = true }) local buffers = require('chai.buffers') local function buffer_handling_init() local create_autocmd = vim.api.nvim_create_autocmd create_autocmd('BufEnter', { group = 'ChaiAutocmds', pattern = { 'chai://*' }, callback = function (args) buffers.on_enter(args.buf) end }) create_autocmd({ 'BufDelete' }, { group = 'ChaiAutocmds', pattern = { 'chai://*' }, callback = function (args) buffers.on_hide(args.buf) end }) create_autocmd({ 'BufWipeout' }, { group = 'ChaiAutocmds', pattern = { 'chai://*' }, callback = function (args) buffers.destroy_buffer(args.buf) end }) create_autocmd('BufReadCmd', { group = 'ChaiAutocmds', pattern = { 'chai://*' }, callback = function (args) buffers.create_buffer(args.buf) end }) create_autocmd('BufWriteCmd', { group = 'ChaiAutocmds', pattern = { 'chai://*' }, callback = function (args) buffers.on_write(args.buf) end }) end function M.setup() buffer_handling_init() end return M