pojokcodeid.nvim-lazy/lua/user/autopairs.lua

45 lines
1.3 KiB
Lua
Raw Normal View History

2023-01-15 00:17:41 +07:00
-- Setup nvim-cmp.
local status_ok, npairs = pcall(require, "nvim-autopairs")
if not status_ok then
return
end
2024-02-19 14:36:43 +07:00
-- local Rule = require("nvim-autopairs.rule")
2024-02-18 21:29:22 +07:00
2023-01-15 00:17:41 +07:00
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>",
2024-02-18 21:29:22 +07:00
chars = { "{", "[", "(", '"', "'", "`" },
2023-01-15 00:17:41 +07:00
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
offset = 0, -- Offset from pattern match
end_key = "$",
keys = "qwertyuiopzxcvbnmasdfghjkl",
check_comma = true,
highlight = "PmenuSel",
highlight_grey = "LineNr",
},
})
2024-02-19 14:36:43 +07:00
-- npairs.add_rules({
-- Rule("/", ">"):with_pair(function(opts)
-- local pair = opts.line:sub(opts.col, opts.col + 1)
-- if (vim.bo.filetype == "jsx" or vim.bo.filetype == "tsx") and pair == "/" then
-- return npairs.esc("/>") .. "<esc>i"
-- end
-- end),
-- })
2023-02-05 12:50:48 +07:00
-- If you want insert `(` after select function or method item
2023-01-15 00:17:41 +07:00
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 = "" } }))