Configured nvim-autopairs, it's not great but alternatives like
blink.pairs is not developed enough, maybe next year
This commit is contained in:
@@ -3,8 +3,36 @@ return {
|
||||
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' }, -- don't add pairs inside lua strings
|
||||
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,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user