mirror of
https://github.com/Cian-H/dotfiles.git
synced 2026-04-18 23:25:12 +01:00
896af887ca
This change allows the dotfiles to work with chezmoi (e.g: on windows) and improves grepability with neovim/telescope
109 lines
4.9 KiB
Lua
109 lines
4.9 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()
|
||
|
||
-- Simple and easy statusline.
|
||
-- You could remove this setup call if you don't like it,
|
||
-- and try some other statusline plugin
|
||
-- local statusline = require("mini.statusline")
|
||
-- set use_icons to true if you have a Nerd Font
|
||
-- statusline.setup({ use_icons = vim.g.have_nerd_font })
|
||
|
||
-- You can configure sections in the statusline by overriding their
|
||
-- default behavior. For example, here we set the section for
|
||
-- cursor location to LINE:COLUMN
|
||
---@diagnostic disable-next-line: duplicate-set-field
|
||
-- statusline.section_location = function()
|
||
-- return "%2l:%-2v"
|
||
-- end
|
||
|
||
-- 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
|
||
|
||
-- This function runs a vim command then exits the buffer that called it
|
||
function _Launch_Vim_Cmd(cmd)
|
||
local startbuf = vim.api.nvim_get_current_buf()
|
||
vim.cmd(cmd)
|
||
vim.api.nvim_buf_delete(startbuf, {})
|
||
end
|
||
|
||
local custom_items = {
|
||
{
|
||
name = "Status",
|
||
action = "Git status",
|
||
section = "Git",
|
||
},
|
||
{
|
||
name = "Log",
|
||
action = [[lua _Launch_Vim_Cmd("Git log --graph --pretty=oneline --abbrev-commit")]],
|
||
section = "Git",
|
||
},
|
||
{
|
||
name = "Lazygit",
|
||
action = "LazyGit",
|
||
section = "Git",
|
||
},
|
||
{
|
||
name = "Harpoon Quickmenu",
|
||
action = [[lua require("harpoon").ui:toggle_quick_menu(require("harpoon"):list())]],
|
||
section = "Misc",
|
||
},
|
||
}
|
||
require("mini.starter").setup({
|
||
header = "⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⢀⣴⠿⢟⣛⣩⣤⣶⣶⣶⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⢀⣴⣿⠿⠸⣿⣿⣿⣿⣿⣿⡿⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⢠⠞⠉⠀⠀⠀⣿⠋⠻⣿⣿⣿⠀⣦⣿⠏⠀⠀⠀⢀⣀⣀⣀⣀⣀⠀⠀\
|
||
⢠⠏⠀⠀⠀⠀⠀⠻⣤⣷⣿⣿⣿⣶⢟⣁⣒⣒⡋⠉⠉⠁⠀⠀⠀⠈⠉⡧\
|
||
⢻⡀⠀⠀⠀⠀⠀⣀⡤⠌⢙⣛⣛⣵⣿⣿⡛⠛⠿⠃⠀⠀⠀⠀⠀⢀⡜⠁\
|
||
⠀⠉⠙⠒⠒⠛⠉⠁⠀⠸⠛⠉⠉⣿⣿⣿⣿⣦⣄⠀⠀⠀⢀⣠⠞⠁⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⡿⣿⣿⣷⡄⠞⠋⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⡻⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⣑⡙⠻⠿⠿⠈⠙⣿⣧⠀⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣷⡀⠀⠀⠀⠀⢹⣿⣆⠀⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⡇⠀⠀⠀⠀⠸⣿⣿⡄⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⡿⣿⣿⠀⠀⠀⠀\
|
||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠀⠀⠀⠀⠀",
|
||
items = {
|
||
require("mini.starter").sections.telescope(),
|
||
custom_items,
|
||
},
|
||
footer = "",
|
||
})
|
||
end,
|
||
},
|
||
}
|