From f53dfacd3633431d985d388afaf8ee2e989e8044 Mon Sep 17 00:00:00 2001 From: Sam-programs Date: Sun, 15 Oct 2023 13:32:43 +0300 Subject: [PATCH 1/2] testing with lazy redrawinga --- lua/nvim-autopairs.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/nvim-autopairs.lua b/lua/nvim-autopairs.lua index cb7912c7..aa3f0c1c 100644 --- a/lua/nvim-autopairs.lua +++ b/lua/nvim-autopairs.lua @@ -461,6 +461,9 @@ M.autopairs_map = function(bufnr, char) if end_pair:match('<.*>') then end_pair = utils.esc(end_pair) end + -- don't redraw the cursor twice + OLD_lazyredraw = vim.o.lz + vim.o.lazyredraw = true local result = char .. end_pair .. utils.esc(move_text) if rule.is_undo then result = utils.esc(utils.key.undo_sequence) .. result .. utils.esc(utils.key.undo_sequence) @@ -468,6 +471,7 @@ M.autopairs_map = function(bufnr, char) if M.config.enable_abbr then result = utils.esc(utils.key.abbr) .. result end + result = result .. utils.esc('lua vim.o.lazyredraw = OLD_lazyredraw') log.debug("key_map :" .. result) return result end From 0af5e59308c85da1bfdb93e5a27da345c7d62103 Mon Sep 17 00:00:00 2001 From: Sam-programs Date: Tue, 17 Oct 2023 13:16:31 +0300 Subject: [PATCH 2/2] removed the global variable --- lua/nvim-autopairs.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/nvim-autopairs.lua b/lua/nvim-autopairs.lua index aa3f0c1c..e41f1234 100644 --- a/lua/nvim-autopairs.lua +++ b/lua/nvim-autopairs.lua @@ -461,9 +461,6 @@ M.autopairs_map = function(bufnr, char) if end_pair:match('<.*>') then end_pair = utils.esc(end_pair) end - -- don't redraw the cursor twice - OLD_lazyredraw = vim.o.lz - vim.o.lazyredraw = true local result = char .. end_pair .. utils.esc(move_text) if rule.is_undo then result = utils.esc(utils.key.undo_sequence) .. result .. utils.esc(utils.key.undo_sequence) @@ -471,7 +468,10 @@ M.autopairs_map = function(bufnr, char) if M.config.enable_abbr then result = utils.esc(utils.key.abbr) .. result end - result = result .. utils.esc('lua vim.o.lazyredraw = OLD_lazyredraw') + -- don't redraw the cursor twice + local old_lazyredraw = vim.o.lazyredraw + vim.o.lazyredraw = true + result = result .. utils.esc("lua vim.o.lazyredraw =" .. (old_lazyredraw and "true" or "false") .. "") log.debug("key_map :" .. result) return result end