mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-08-28 13:58:12 +02:00
most of the "visual mode" mappings use "v" instead of "x", affecting select mode, which should not have printable characters remapped. (this is felt when e.g. using snippets)
35 lines
1.4 KiB
Lua
35 lines
1.4 KiB
Lua
-- Fast and feature-rich surround actions. For text that includes
|
|
-- surrounding characters like brackets or quotes, this allows you
|
|
-- to select the text inside, change or modify the surrounding characters,
|
|
-- and more.
|
|
return {
|
|
"echasnovski/mini.surround",
|
|
keys = function(_, keys)
|
|
-- Populate the keys based on the user's options
|
|
local opts = LazyVim.opts("mini.surround")
|
|
local mappings = {
|
|
{ opts.mappings.add, desc = "Add Surrounding", mode = { "n", "x" } },
|
|
{ opts.mappings.delete, desc = "Delete Surrounding" },
|
|
{ opts.mappings.find, desc = "Find Right Surrounding" },
|
|
{ opts.mappings.find_left, desc = "Find Left Surrounding" },
|
|
{ opts.mappings.highlight, desc = "Highlight Surrounding" },
|
|
{ opts.mappings.replace, desc = "Replace Surrounding" },
|
|
{ opts.mappings.update_n_lines, desc = "Update `MiniSurround.config.n_lines`" },
|
|
}
|
|
mappings = vim.tbl_filter(function(m)
|
|
return m[1] and #m[1] > 0
|
|
end, mappings)
|
|
return vim.list_extend(mappings, keys)
|
|
end,
|
|
opts = {
|
|
mappings = {
|
|
add = "gsa", -- Add surrounding in Normal and Visual modes
|
|
delete = "gsd", -- Delete surrounding
|
|
find = "gsf", -- Find surrounding (to the right)
|
|
find_left = "gsF", -- Find surrounding (to the left)
|
|
highlight = "gsh", -- Highlight surrounding
|
|
replace = "gsr", -- Replace surrounding
|
|
update_n_lines = "gsn", -- Update `n_lines`
|
|
},
|
|
},
|
|
}
|