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:
Barrett Ruth 2026-03-06 15:46:00 -05:00
parent c7a55fd787
commit 75eaf3994d
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
3 changed files with 1260 additions and 1 deletions

View file

@ -1135,6 +1135,22 @@ CanolaMutationComplete *CanolaMutationComp
additional data fields. Use this event for post-mutation side effects such
as refreshing external status indicators.
CanolaFileCreated *CanolaFileCreated*
Fired after a new file is successfully created on the local filesystem.
The `args.data.path` field contains the absolute path of the created file.
Use this event to populate initial file contents, run formatters, or
perform any other setup on newly created files. >lua
vim.api.nvim_create_autocmd("User", {
pattern = "CanolaFileCreated",
callback = function(args)
local path = args.data.path
if path:match("%.sh$") then
vim.fn.writefile({ "#!/usr/bin/env bash" }, path)
end
end,
})
<
--------------------------------------------------------------------------------
TRASH *canola-trash*

1231
doc/upstream.html Normal file

File diff suppressed because it is too large Load diff