Enhanced matchparen.vim plugin for Neovim to highlight the outer pair.
DISCLAIMER: The autopair functionality is coming from nvim-autopairs.
🚀 Performance (Blazingly Fast!!!).
🪁 Fully compatible with anything that expects matchparen.vim to be there.
👍 Ease of use.
NOTE: Keep in mind that calling setup
disables the built-in
matchparen.vim plugin.
{
"utilyre/sentiment.nvim",
version = "*",
event = "VeryLazy", -- keep for lazy loading
opts = {
-- config
},
init = function()
-- `matchparen.vim` needs to be disabled manually in case of lazy loading
vim.g.loaded_matchparen = 1
end,
}
use({
"utilyre/sentiment.nvim",
tag = "*",
config = function()
require("sentiment").setup({
-- config
})
end,
})
require("sentiment").disable()
, :NoMatchParen
Disable the plugin.
require("sentiment").enable()
, :DoMatchParen
Re-enable the plugin.
This plugin re-uses the widely supported MatchParen
highlight group of the
former matchparen.vim plugin.
See :help nvim_set_hl()
for how you can change it.
{
---Dictionary to check whether a buftype should be included.
---
---@type table<string, boolean>
included_buftypes = {
[""] = true,
},
---Dictionary to check whether a filetype should be excluded.
---
---@type table<string, boolean>
excluded_filetypes = {},
---Dictionary to check whether a mode should be included.
---
---@type table<string, boolean>
included_modes = {
n = true,
i = true,
},
---How much (in milliseconds) should the cursor stay still to calculate and
---render a pair.
---
---NOTE: It's recommended to set this somewhere above and close to your key
---repeat speed in order to keep the calculations at minimum.
---
---@type integer
delay = 50,
---How many lines to look backwards/forwards to find a pair.
---
---@type integer
limit = 100,
---List of `(left, right)` pairs.
---
---NOTE: Both sides of a pair can't have the same character.
---
---@type tuple<string, string>[]
pairs = {
{ "(", ")" },
{ "{", "}" },
{ "[", "]" },
},
}