Files
dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua
Kyren223 2a210c153d Configured nvim-autopairs, it's not great but alternatives like
blink.pairs is not developed enough, maybe next year
2025-05-04 17:49:41 +03:00

39 lines
1.2 KiB
Lua

return {
'windwp/nvim-autopairs',
event = 'InsertEnter',
opts = {
check_ts = true,
-- don't add pairs inside these treesitter nodes
-- THIS DOESN'T EVEN WORK IN LUA lol
-- I guess waiting on this to be fixed...
ts_config = {
lua = { 'string' },
go = { 'string' },
zig = { 'string' },
},
},
config = function(_, opts)
require('nvim-autopairs').setup(opts)
local Rule = require('nvim-autopairs.rule')
local npairs = require('nvim-autopairs')
local cond = require('nvim-autopairs.conds')
npairs.add_rule(Rule('<', '>', {
-- if you use nvim-ts-autotag, you may want to exclude these filetypes from this rule
-- so that it doesn't conflict with nvim-ts-autotag
'-html',
'-javascriptreact',
'-typescriptreact',
}):with_pair(
-- regex will make it so that it will auto-pair on
-- `a<` but not `a <`
-- The `:?:?` part makes it also
-- work on Rust generics like `some_func::<T>()`
cond.before_regex('%a+:?:?$', 3)
):with_move(function(opts)
return opts.char == '>'
end))
end,
}