From 0111b31cb0008f4fcc55ddc373e63f124652b156 Mon Sep 17 00:00:00 2001
From: Gustaf Rydholm <gustaf.rydholm@gmail.com>
Date: Wed, 7 Jul 2021 01:05:06 +0200
Subject: Updated config based on Chris LunarVim release

---
 .config/nvim/lua/cfg/autopairs/init.lua | 47 +++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 .config/nvim/lua/cfg/autopairs/init.lua

(limited to '.config/nvim/lua/cfg/autopairs')

diff --git a/.config/nvim/lua/cfg/autopairs/init.lua b/.config/nvim/lua/cfg/autopairs/init.lua
new file mode 100644
index 0000000..6a9e428
--- /dev/null
+++ b/.config/nvim/lua/cfg/autopairs/init.lua
@@ -0,0 +1,47 @@
+-- if not package.loaded['nvim-autopairs'] then
+--   return
+-- end
+local npairs = require "nvim-autopairs"
+local Rule = require "nvim-autopairs.rule"
+
+-- skip it, if you use another global object
+_G.MUtils = {}
+
+vim.g.completion_confirm_key = ""
+MUtils.completion_confirm = function()
+  if vim.fn.pumvisible() ~= 0 then
+    if vim.fn.complete_info()["selected"] ~= -1 then
+      return vim.fn["compe#confirm"](npairs.esc "<cr>")
+    else
+      return npairs.esc "<cr>"
+    end
+  else
+    return npairs.autopairs_cr()
+  end
+end
+
+if package.loaded["compe"] then
+  require("nvim-autopairs.completion.compe").setup {
+    map_cr = true, --  map <CR> on insert mode
+    map_complete = true, -- it will auto insert `(` after select function or method item
+  }
+end
+
+npairs.setup {
+  check_ts = true,
+  ts_config = {
+    lua = { "string" }, -- it will not add pair on that treesitter node
+    javascript = { "template_string" },
+    java = false, -- don't check treesitter on java
+  },
+}
+
+require("nvim-treesitter.configs").setup { autopairs = { enable = true } }
+
+local ts_conds = require "nvim-autopairs.ts-conds"
+
+-- press % => %% is only inside comment or string
+npairs.add_rules {
+  Rule("%", "%", "lua"):with_pair(ts_conds.is_ts_node { "string", "comment" }),
+  Rule("$", "$", "lua"):with_pair(ts_conds.is_not_ts_node { "function" }),
+}
-- 
cgit v1.2.3-70-g09d2