Customize Autopairs
Add Custom Rules to nvim-autopairs
You can easily add rules and further configure nvim-autopairs
in your user configuration by overriding the configuration function of the nvim-autopairs
plugin. Here is a example minimal user/init.lua
configuration file:
return { plugins = { { -- override nvim-autopairs plugin "windwp/nvim-autopairs", config = function(plugin, opts) -- run default AstroNvim config require "plugins.configs.nvim-autopairs"(plugin, opts) -- require Rule function local Rule = require "nvim-autopairs.rule" local npairs = require "nvim-autopairs" npairs.add_rules { { -- specify a list of rules to add Rule(" ", " "):with_pair(function(options) local pair = options.line:sub(options.col - 1, options.col) return vim.tbl_contains({ "()", "[]", "{}" }, pair) end), Rule("( ", " )") :with_pair(function() return false end) :with_move(function(options) return options.prev_char:match ".%)" ~= nil end) :use_key ")", Rule("{ ", " }") :with_pair(function() return false end) :with_move(function(options) return options.prev_char:match ".%}" ~= nil end) :use_key "}", Rule("[ ", " ]") :with_pair(function() return false end) :with_move(function(options) return options.prev_char:match ".%]" ~= nil end) :use_key "]", }, } end, }, },}