diff --git a/doc/auto-save.nvim.txt b/doc/auto-save.nvim.txt index 584e9fb..ec9d3e6 100644 --- a/doc/auto-save.nvim.txt +++ b/doc/auto-save.nvim.txt @@ -1,4 +1,4 @@ -*auto-save.nvim.txt* For Neovim >= 0.8.0 Last change: 2024 October 10 +*auto-save.nvim.txt* For Neovim >= 0.8.0 Last change: 2024 December 04 ============================================================================== Table of Contents *auto-save.nvim-table-of-contents* @@ -64,10 +64,10 @@ PACKER.NVIM *auto-save.nvim-installation-packer.nvim* "okuuva/auto-save.nvim", tag = 'v1', config = function() - require("auto-save").setup { + require("auto-save").setup({ -- your config goes here -- or just leave it empty :) - } + }) end, }) < @@ -78,10 +78,10 @@ VIM-PLUG *auto-save.nvim-installation-vim-plug* >vim Plug 'okuuva/auto-save.nvim', { 'tag': 'v1' } lua << EOF - require("auto-save").setup { + require("auto-save").setup({ -- your config goes here -- or just leave it empty :) - } + }) EOF < @@ -127,7 +127,7 @@ execute the event on special file patterns: { trigger_events = { immediate_save = { - { "BufLeave", pattern = {".c", ".h"} } + { "BufLeave", pattern = { ".c", ".h" } } } } } @@ -139,20 +139,18 @@ CONDITION *auto-save.nvim-configuration-condition* The `condition` field of the configuration allows the user to exclude **auto-save** from saving specific buffers. -Here is an example using a helper function from `auto-save.utils.data` that -disables auto-save for specified file types: +Here is an example that disables auto-save for specified file types: >lua { condition = function(buf) - local fn = vim.fn - local utils = require("auto-save.utils.data") + local filetype = vim.fn.getbufvar(buf, "&filetype") -- don't save for `sql` file types - if utils.not_in(fn.getbufvar(buf, "&filetype"), {'sql'}) then - return true + if vim.list_contains({ "sql" }, filetype) then + return false end - return false + return true end } < @@ -163,10 +161,8 @@ special-buffers`): >lua { condition = function(buf) - local fn = vim.fn - -- don't save for special-buffers - if fn.getbufvar(buf, "&buftype") ~= '' then + if vim.fn.getbufvar(buf, "&buftype") ~= '' then return false end return true @@ -188,7 +184,7 @@ config), you may as well: You may want to set up a key mapping for toggling: >lua - vim.api.nvim_set_keymap("n", "n", ":ASToggle", {}) + vim.api.nvim_set_keymap("n", "n", "ASToggle", {}) < or as part of the `lazy.nvim` plugin spec: @@ -197,7 +193,7 @@ or as part of the `lazy.nvim` plugin spec: { "okuuva/auto-save.nvim", keys = { - { "n", ":ASToggle", desc = "Toggle auto-save" }, + { "n", "ASToggle", desc = "Toggle auto-save" }, }, ... }, @@ -228,12 +224,34 @@ An example to print a message with the file name after a file got saved: callback = function(opts) if opts.data.saved_buffer ~= nil then local filename = vim.api.nvim_buf_get_name(opts.data.saved_buffer) - print('AutoSave: saved ' .. filename .. ' at ' .. vim.fn.strftime('%H:%M:%S')) + vim.notify('AutoSave: saved ' .. filename .. ' at ' .. vim.fn.strftime('%H:%M:%S'), vim.log.levels.INFO) end end, }) < +Another example to print a message when enabling/disabling autosave: + +>lua + local group = vim.api.nvim_create_augroup('autosave', {}) + + vim.api.nvim_create_autocmd('User', { + pattern = 'AutoSaveEnable', + group = group, + callback = function(opts) + vim.notify('AutoSave enabled', vim.log.levels.INFO) + end, + }) + + vim.api.nvim_create_autocmd('User', { + pattern = 'AutoSaveDisable', + group = group, + callback = function(opts) + vim.notify('AutoSave disabled', vim.log.levels.INFO) + end, + }) +< + If you want more Events, feel free to open an issue.