-- [[ Basic Autocommands ]] -- See `:help lua-guide-autocommands` -- Highlight when yanking (copying) text -- Try it with `yap` in normal mode -- See `:help vim.highlight.on_yank()` vim.api.nvim_create_autocmd('TextYankPost', { desc = 'Highlight when yanking (copying) text', group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), callback = function() vim.highlight.on_yank() end, }) local autosave_group = vim.api.nvim_create_augroup('autosaving', { clear = true }) vim.api.nvim_create_autocmd('FocusLost', { group = autosave_group, pattern = '*', command = 'silent! wa', -- Save all files when moving away from the window }) -- vim.api.nvim_create_autocmd('InsertLeave', { -- group = autosave_group, -- pattern = '*', -- command = 'silent! wa', -- Save all files when leaving insert mode -- }) -- vim.api.nvim_create_autocmd('TextChanged', { -- group = autosave_group, -- pattern = '*', -- command = 'silent! wa', -- Save all files when text is changed -- }) vim.api.nvim_create_autocmd("User", { pattern = "OilActionsPost", callback = function(event) if event.data.actions.type == "move" then Snacks.rename.on_rename_file(event.data.actions.src_url, event.data.actions.dest_url) end end, }) local fidget_group = vim.api.nvim_create_augroup("CodeCompanionFidgetHooks", { clear = true }) vim.api.nvim_create_autocmd({ "User" }, { pattern = "CodeCompanionRequestStarted", group = fidget_group, callback = function(event) local FidgetHelper = require('utils.fidget_helper') -- Pass event instead of request if the callback receives the full event object local handle = FidgetHelper:create_progress_handle(event) FidgetHelper:store_progress_handle(event.data.id, handle) end, }) vim.api.nvim_create_autocmd({ "User" }, { pattern = "CodeCompanionRequestFinished", group = fidget_group, callback = function(event) local FidgetHelper = require('utils.fidget_helper') -- Pass event instead of request if the callback receives the full event object -- Pass event instead of request if the callback receives the full event object local handle = FidgetHelper:pop_progress_handle(event.data.id) if handle then FidgetHelper:report_exit_status(handle, event) handle:finish() end end, }) require('helpers').edit_cf('a', '/lua/autocmd.lua')