1
1
Fork 0
dotfiles/nvim/lua/plugins/pairs.lua
2025-06-16 10:36:32 -06:00

48 lines
1.3 KiB
Lua

return {
{
'RRethy/nvim-treesitter-endwise',
},
{
'windwp/nvim-autopairs',
event = "InsertEnter",
config = function()
require('nvim-autopairs').setup()
local npairs = require("nvim-autopairs")
local Rule = require('nvim-autopairs.rule')
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require('cmp')
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
npairs.setup({
check_ts = true,
ts_config = {
lua = { 'string' }, -- it will not add a pair on that treesitter node
javascript = { 'template_string' },
java = false, -- don't check treesitter on java
}
})
local ts_conds = require('nvim-autopairs.ts-conds')
-- press % => %% only while inside a 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' }))
})
end,
opts = {
enabled = function(bufnr) return true end,
disable_filetype = { "TelescopePrompt", "spectre_panel", "snacks_picker_input" },
enable_check_bracket_line = false,
map_cr = true,
map_bs = true, -- map the <BS> key
},
}
}