home/dot_config/nvim/lua/plugins/mini.lua
2025-04-14 16:30:07 +02:00

100 lines
1.8 KiB
Lua

-- mini.nvim configuration
return {
{
-- More text objects (not AI!)
"echasnovski/mini.ai",
opts = {},
},
{
-- Good commenting
"echasnovski/mini.comment",
opts = {},
},
{
"echasnovski/mini.surround",
opts = {},
},
{
-- Autopairs
"echasnovski/mini.pairs",
opts = {},
},
{
-- Go forward and back with [ ]
"echasnovski/mini.bracketed",
opts = {},
},
{
-- Faster and better which-key
"echasnovski/mini.clue",
opts = {
triggers = {
{ mode = "n", keys = "<leader>" },
{ mode = "x", keys = "<leader>" },
{ mode = "n", keys = "g" },
{ mode = "x", keys = "g" },
{ mode = "n", keys = "`" },
{ mode = "x", keys = "`" },
{ mode = "n", keys = "'" },
{ mode = "x", keys = "'" },
{ mode = "n", keys = "<C-w>" },
{ mode = "n", keys = "z" },
{ mode = "x", keys = "z" },
},
window = {
delay = 400,
},
},
},
{
-- Label jumping for visible characters
"echasnovski/mini.jump2d",
opts = {
mappings = {
start_jumping = "",
},
},
keys = {
{
"<leader>j",
"<cmd>lua MiniJump2d.start()<cr>",
desc = "Jump to visible",
},
},
},
{
-- File icons
"echasnovski/mini.icons",
opts = {},
},
{
-- Tabs
"echasnovski/mini.tabline",
opts = {},
},
{
-- Another picker
"echasnovski/mini.pick",
opts = {},
},
{
-- Decent interactive file management
"echasnovski/mini.files",
opts = {},
keys = {
{
"<leader>fi",
function()
require("mini.files").open()
end,
desc = "Edit files interactively",
},
},
},
}