mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 18:00:05 +08:00
41 lines
1.2 KiB
Lua
41 lines
1.2 KiB
Lua
|
--=============================================================================
|
||
|
-- logevents.lua --- log events
|
||
|
-- Copyright (c) 2019-2024 Wang Shidong & Contributors
|
||
|
-- Author: Wang Shidong < wsdjeg@outlook.com >
|
||
|
-- URL: https://spacevim.org
|
||
|
-- License: GPLv3
|
||
|
--=============================================================================
|
||
|
|
||
|
local M = {}
|
||
|
|
||
|
local log = require('spacevim.logger').derive('logevent')
|
||
|
local notify = require('spacevim.api.notify')
|
||
|
|
||
|
local enabled = false
|
||
|
|
||
|
function M.toggle()
|
||
|
if not enabled then
|
||
|
notify.notify('logevent enabled')
|
||
|
local group = vim.api.nvim_create_augroup('logevent', { clear = true })
|
||
|
vim.api.nvim_create_autocmd(
|
||
|
vim.tbl_filter(function(e)
|
||
|
return not vim.endswith(e, 'Cmd') and e ~= 'SafeState'
|
||
|
end, vim.fn.getcompletion('', 'event')),
|
||
|
{
|
||
|
callback = vim.schedule_wrap(function(event)
|
||
|
log.debug(event.event .. event.buf)
|
||
|
end),
|
||
|
group = group,
|
||
|
}
|
||
|
)
|
||
|
|
||
|
enabled = true
|
||
|
else
|
||
|
notify.notify('logevent disabled')
|
||
|
vim.api.nvim_create_augroup('logevent', { clear = true })
|
||
|
enabled = false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return M
|