mirror of
https://github.com/Cian-H/dotfiles.git
synced 2025-12-22 19:31:57 +00:00
131 lines
5.7 KiB
Lua
131 lines
5.7 KiB
Lua
return { -- Mini is so varied it's hard to categorise. So i dumped my mini installs here
|
||
{ -- Collection of various small independent plugins/modules
|
||
"echasnovski/mini.nvim",
|
||
config = function()
|
||
-- Better Around/Inside textobjects
|
||
--
|
||
-- Examples:
|
||
-- - va) - [V]isually select [A]round [)]paren
|
||
-- - yinq - [Y]ank [I]nside [N]ext [']quote
|
||
-- - ci' - [C]hange [I]nside [']quote
|
||
require("mini.ai").setup({ n_lines = 500 })
|
||
|
||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||
--
|
||
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||
-- - sd' - [S]urround [D]elete [']quotes
|
||
-- - sr)' - [S]urround [R]eplace [)] [']
|
||
require("mini.surround").setup()
|
||
|
||
-- Setup of mini.notify
|
||
local notify = require("mini.notify")
|
||
notify.setup()
|
||
vim.notify = notify.make_notify({
|
||
ERROR = { duration = 5000 },
|
||
WARN = { duration = 4000 },
|
||
INFO = { duration = 3000 },
|
||
})
|
||
|
||
-- Some other mini.nvim plugins that look useful to me
|
||
require("mini.clue").setup()
|
||
require("mini.visits").setup()
|
||
require("mini.sessions").setup()
|
||
require("mini.pairs").setup({ mappings = { ["`"] = false } })
|
||
require("mini.comment").setup()
|
||
require("mini.splitjoin").setup()
|
||
require("mini.trailspace").setup()
|
||
|
||
-- My custom mini.starter config
|
||
local starter_items = {
|
||
{
|
||
action = "Telescope file_browser",
|
||
name = "Tree",
|
||
section = "Telescope",
|
||
},
|
||
{
|
||
action = "Telescope live_grep",
|
||
name = "Live grep",
|
||
section = "Telescope",
|
||
},
|
||
{
|
||
action = "Telescope find_files",
|
||
name = "File grep",
|
||
section = "Telescope",
|
||
},
|
||
{
|
||
action = "Telescope command_history",
|
||
name = "Command history",
|
||
section = "Telescope",
|
||
},
|
||
{
|
||
action = "Telescope help_tags",
|
||
name = "Help tags",
|
||
section = "Telescope",
|
||
},
|
||
{
|
||
name = "Log",
|
||
action = [[lua Snacks.lazygit.log()]],
|
||
section = "Git",
|
||
},
|
||
{
|
||
name = "Lazygit",
|
||
action = [[lua Snacks.lazygit()]],
|
||
section = "Git",
|
||
},
|
||
{
|
||
name = "Browser",
|
||
action = function()
|
||
local handle = io.popen("git remote show")
|
||
if handle == nil then
|
||
vim.notify("Failed to find remote", vim.log.levels.ERROR)
|
||
return
|
||
end
|
||
local result = handle:read("*a")
|
||
handle:close()
|
||
local remote = vim.split(result, "\n")[1]
|
||
handle = io.popen("git remote get-url " .. remote)
|
||
if handle == nil then
|
||
vim.notify("Failed to get url for " .. remote, vim.log.levels.ERROR)
|
||
return
|
||
end
|
||
local url = handle:read("*a")
|
||
handle:close()
|
||
handle = io.popen("xdg-open " .. url)
|
||
if handle == nil then
|
||
vim.notify("Failed to open " .. url, vim.log.levels.ERROR)
|
||
return
|
||
end
|
||
result = handle:read("*a")
|
||
handle:close()
|
||
end,
|
||
section = "Git",
|
||
},
|
||
{
|
||
name = "Harpoon Quickmenu",
|
||
action = [[lua require("harpoon").ui:toggle_quick_menu(require("harpoon"):list())]],
|
||
section = "Misc",
|
||
},
|
||
}
|
||
require("mini.starter").setup({
|
||
header = "⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⢀⣴⠿⢟⣛⣩⣤⣶⣶⣶⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⢀⣴⣿⠿⠸⣿⣿⣿⣿⣿⣿⡿⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⢠⠞⠉⠀⠀⠀⣿⠋⠻⣿⣿⣿⠀⣦⣿⠏⠀⠀⠀⢀⣀⣀⣀⣀⣀⠀⠀\
|
||
⢠⠏⠀⠀⠀⠀⠀⠻⣤⣷⣿⣿⣿⣶⢟⣁⣒⣒⡋⠉⠉⠁⠀⠀⠀⠈⠉⡧\
|
||
⢻⡀⠀⠀⠀⠀⠀⣀⡤⠌⢙⣛⣛⣵⣿⣿⡛⠛⠿⠃⠀⠀⠀⠀⠀⢀⡜⠁\
|
||
⠀⠉⠙⠒⠒⠛⠉⠁⠀⠸⠛⠉⠉⣿⣿⣿⣿⣦⣄⠀⠀⠀⢀⣠⠞⠁⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⡿⣿⣿⣷⡄⠞⠋⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⡻⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⣑⡙⠻⠿⠿⠈⠙⣿⣧⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣷⡀⠀⠀⠀⠀⢹⣿⣆⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⡇⠀⠀⠀⠀⠸⣿⣿⡄⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⡿⣿⣿⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠈⠙⠀⠀⠀⠀⠀",
|
||
items = starter_items,
|
||
footer = "",
|
||
})
|
||
end,
|
||
},
|
||
}
|