浏览代码

fix(autopairs): attach confirm_done only once (#3430)

LostNeophyte 2 年之前
父节点
当前提交
63c31900ad
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      lua/lvim/core/autopairs.lua

+ 7 - 2
lua/lvim/core/autopairs.lua

@@ -46,6 +46,10 @@ function M.config()
   }
   }
 end
 end
 
 
+local function on_confirm_done(...)
+  require("nvim-autopairs.completion.cmp").on_confirm_done()(...)
+end
+
 M.setup = function()
 M.setup = function()
   local status_ok, autopairs = pcall(require, "nvim-autopairs")
   local status_ok, autopairs = pcall(require, "nvim-autopairs")
   if not status_ok then
   if not status_ok then
@@ -83,8 +87,9 @@ M.setup = function()
     lvim.builtin.autopairs.on_config_done(autopairs)
     lvim.builtin.autopairs.on_config_done(autopairs)
   end
   end
   pcall(function()
   pcall(function()
-    local cmp_autopairs = require "nvim-autopairs.completion.cmp"
-    require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done())
+    require "nvim-autopairs.completion.cmp"
+    require("cmp").event:off("confirm_done", on_confirm_done)
+    require("cmp").event:on("confirm_done", on_confirm_done)
   end)
   end)
 end
 end