summaryrefslogtreecommitdiff
path: root/lua/config/autopairs.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config/autopairs.lua')
-rw-r--r--lua/config/autopairs.lua34
1 files changed, 34 insertions, 0 deletions
diff --git a/lua/config/autopairs.lua b/lua/config/autopairs.lua
new file mode 100644
index 0000000..027135b
--- /dev/null
+++ b/lua/config/autopairs.lua
@@ -0,0 +1,34 @@
+-- Autopair for brackets and quote symbols.
+
+local status_ok, npairs = pcall(require, "nvim-autopairs")
+if not status_ok then
+ return
+end
+
+npairs.setup({
+ check_ts = true,
+ ts_config = {
+ lua = { "string", "source" },
+ javascript = { "string", "template_string" },
+ java = false,
+ },
+ disable_filetype = { "TelescopePrompt", "spectre_panel" },
+ fast_wrap = {
+ map = "<M-e>",
+ chars = { "{", "[", "(", '"', "'" },
+ pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
+ offset = 0, -- Offset from pattern match
+ end_key = "$",
+ keys = "qwertyuiopzxcvbnmasdfghjkl",
+ check_comma = true,
+ highlight = "PmenuSel",
+ highlight_grey = "LineNr",
+ },
+})
+
+local cmp_autopairs = require("nvim-autopairs.completion.cmp")
+local cmp_status_ok, cmp = pcall(require, "cmp")
+if not cmp_status_ok then
+ return
+end
+cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))