mirror of
https://github.com/zoriya/auto-save.nvim.git
synced 2026-05-28 08:58:21 +00:00
feat: GH-40 Add pattern to trigger_events (#42)
This commit is contained in:
@@ -3,6 +3,15 @@ local M = {}
|
||||
local api = vim.api
|
||||
local augroup_name = "AutoSave"
|
||||
|
||||
--- @param event TriggerEvent
|
||||
--- @return VerboseTriggerEvent
|
||||
local function parse_trigger_event(event)
|
||||
if type(event) == "string" then
|
||||
return { event }
|
||||
end
|
||||
return event
|
||||
end
|
||||
|
||||
--- @param opts? table
|
||||
--- @return number
|
||||
M.create_augroup = function(opts)
|
||||
@@ -16,4 +25,15 @@ M.exec_autocmd = function(pattern, saved_buffer)
|
||||
api.nvim_exec_autocmds("User", { pattern = pattern, data = { saved_buffer = saved_buffer } })
|
||||
end
|
||||
|
||||
--- @param trigger_events TriggerEvent[]?
|
||||
M.create_autocmd_for_trigger_events = function(trigger_events, autocmd_opts)
|
||||
if trigger_events ~= nil then
|
||||
for _, event in pairs(trigger_events) do
|
||||
local parsed_event = parse_trigger_event(event)
|
||||
local autocmd_opts_with_pattern = vim.tbl_extend("force", autocmd_opts, { pattern = parsed_event.pattern })
|
||||
api.nvim_create_autocmd(parsed_event[1], autocmd_opts_with_pattern)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
Reference in New Issue
Block a user