feat: emit \CanolaFileCreated\ autocmd on file creation
Problem: no way to hook into individual file creation to populate initial contents, without a plugin-specific config callback. Solution: fire \`User CanolaFileCreated\` with \`data.path\` after each successful \`fs.touch\` in the files adapter. Users listen with \`nvim_create_autocmd\` and write to the path however they like.
This commit is contained in:
parent
c7a55fd787
commit
75eaf3994d
3 changed files with 1260 additions and 1 deletions
|
|
@ -600,7 +600,19 @@ M.perform_action = function(action, cb)
|
|||
---@diagnostic disable-next-line: param-type-mismatch
|
||||
uv.fs_symlink(target, path, flags, cb)
|
||||
else
|
||||
fs.touch(path, config.new_file_mode, cb)
|
||||
fs.touch(
|
||||
path,
|
||||
config.new_file_mode,
|
||||
vim.schedule_wrap(function(err)
|
||||
if not err then
|
||||
vim.api.nvim_exec_autocmds(
|
||||
'User',
|
||||
{ pattern = 'CanolaFileCreated', modeline = false, data = { path = path } }
|
||||
)
|
||||
end
|
||||
cb(err)
|
||||
end)
|
||||
)
|
||||
end
|
||||
elseif action.type == 'delete' then
|
||||
local _, path = util.parse_url(action.url)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue