From 4db41a2155cf4ebaf6f70fd035c6855faeb807f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=81uczy=C5=84ski?= Date: Tue, 16 Aug 2022 14:05:42 +0200 Subject: [PATCH] feat: allow to disable execution_message Squashed changes from https://github.com/Pocco81/auto-save.nvim/pull/50 Got too hairy for a GH noob like me to fix properly. --- README.md | 15 ++++++++------- lua/auto-save/config.lua | 1 + lua/auto-save/init.lua | 17 ++++++++--------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 12089e3..36a9174 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

-

๐Ÿงถ auto-save.nvim

+

๐Ÿงถ auto-save.nvim

@@ -38,7 +38,7 @@ This plugin has been renamed from `AutoSave` to `auto-save`, and this repository ### ๐Ÿ“š Requirements -- Neovim >= 0.5.0 +- Neovim >= 0.5.0   @@ -86,15 +86,16 @@ EOF ```lua { - enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it) - execution_message = { + enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it) + execution_message = { + enabled = true, message = function() -- message to print on save return ("AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S")) end, dim = 0.18, -- dim the color of `message` cleaning_interval = 1250, -- (milliseconds) automatically clean MsgArea after displaying `message`. See :h MsgArea }, - trigger_events = {"InsertLeave", "TextChanged"}, -- vim events that trigger auto-save. See :h events + trigger_events = {"InsertLeave", "TextChanged"}, -- vim events that trigger auto-save. See :h events -- function that determines whether to save the current buffer or not -- return true: if buffer is ok to be saved -- return false: if it's not ok to be saved @@ -109,8 +110,8 @@ EOF end return false -- can't save end, - write_all_buffers = false, -- write all buffers when the current one meets `condition` - debounce_delay = 135, -- saves the file at most every `debounce_delay` milliseconds + write_all_buffers = false, -- write all buffers when the current one meets `condition` + debounce_delay = 135, -- saves the file at most every `debounce_delay` milliseconds callbacks = { -- functions to be executed at different intervals enabling = nil, -- ran when enabling auto-save disabling = nil, -- ran when disabling auto-save diff --git a/lua/auto-save/config.lua b/lua/auto-save/config.lua index b59c990..8fa5c88 100644 --- a/lua/auto-save/config.lua +++ b/lua/auto-save/config.lua @@ -2,6 +2,7 @@ Config = { opts = { enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it) execution_message = { + enabled = true, message = function() -- message to print on save return ("AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S")) end, diff --git a/lua/auto-save/init.lua b/lua/auto-save/init.lua index 5d5f7fe..127c1dc 100644 --- a/lua/auto-save/init.lua +++ b/lua/auto-save/init.lua @@ -82,15 +82,14 @@ function M.save(buf) callback("after_saving") - api.nvim_echo({ - { - ( - type(cnf.opts.execution_message.message) == "function" and cnf.opts.execution_message.message() - or cnf.opts.execution_message.message - ), - AUTO_SAVE_COLOR, - }, - }, true, {}) + if cnf.opts.execution_message.enabled == true then + echo_execution_message() + end +end + +local function echo_execution_message() + local msg = type(cnf.opts.execution_message.message) == "function" and cnf.opts.execution_message.message() or cnf.opts.execution_message.message + api.nvim_echo({ { msg, AUTO_SAVE_COLOR } }, true, {}) if cnf.opts.execution_message.cleaning_interval > 0 then fn.timer_start(cnf.opts.execution_message.cleaning_interval, function() cmd([[echon '']])