lua/plugins/mini.lua
return {
	{
		"echasnovski/mini.nvim",
		version = false,
		event = "VeryLazy",
		config = function()
			require("mini.ai").setup()
			require("mini.comment").setup()
			require("mini.cursorword").setup()
			require("mini.pairs").setup()
			require("mini.surround").setup()
			require("mini.indentscope").setup()
		end,
	},
	{
		"echasnovski/mini.starter",
		version = false,
		enabled = false,
		event = "VimEnter",
		opts = function()
			local logo = table.concat({
				[[          .-=+=-.                     .-=++=:          ]],
				[[        -#@@@@@@@%+:               :=#@@@@@@@%+        ]],
				[[       +@@@@@@@@@@@@%   .+###+:   *@@@@@@@@@@@@%       ]],
				[[      :@@@@@@@@@@@@@@. -@@@@@@@*  *@@@@@@@@@@@@@+      ]],
				[[      :@@@@@@@@@@@@@@. #@@@@@@@@. *@@@@@@@@@@@@@+      ]],
				[[       =@@@@@@@@@@@@@. #@@@@@@@@. *@@@@@@@@@@@@#       ]],
				[[        :*@@@@@@@@@@@. #@@@@@@@@. *@@@@@@@@@@#=        ]],
				[[          .-#@@@@@@@@. #@@@@@@@@. *@@@@@@@%=.          ]],
				[[             :*@@@@@@. *@@@@@@@@. #@@@@@#-             ]],
				[[               :#@@@@+  #@@@@@%- :@@@@@-               ]],
				[[                 +@@@@*. .---:  =@@@@#.                ]],
				[[                  =@@@@@%+=--+#@@@@@#                  ]],
				[[                   +@@@@@@@@@@@@@@@%                   ]],
				[[                    %@@@@@@@@@@@@@@:                   ]],
				[[                    =@@@@@@@@@@@@@%                    ]],
				[[                    :@@@@@@@@@@@@@+                    ]],
				[[                     @@@@@@@@@@@@@-                    ]],
				[[                     *@@@@@@@@@@@@.                    ]],
				[[                     .%@@@@@@@@@@-                     ]],
				[[                       =#@@@@@%+.                      ]],
				[[                          ....                         ]],
			}, "\n")
			local pad = string.rep(" ", 0)
			local new_section = function(name, action, section)
				return { name = name, action = action, section = pad .. section }
			end

			local starter = require("mini.starter")
	           --stylua: ignore
	           local config = {
	               evaluate_single = true,
	               header = logo,
	               items = {
	                   new_section("Find file", "FzfLua files", "FzfLua"),
	                   new_section("Recent files", "FzfLua oldfiles", "FzfLua"),
	                   new_section("Grep text", "FzfLua live_grep", "FzfLua"),
	                   new_section("Lazy", "Lazy", "Config"),
	                   new_section("Mason", "Mason", "Config"),
	                   new_section("Quit", "qa", "Built-in"),
	               },
	               content_hooks = {
	                   starter.gen_hook.adding_bullet(pad .. "░ ", false),
	                   starter.gen_hook.aligning("center", "center"),
	               },
	           }
			return config
		end,
		config = function(_, config)
			if vim.o.filetype == "lazy" then
				vim.cmd.close()
				vim.api.nvim_create_autocmd("User", {
					pattern = "MiniStarterOpened",
					callback = function()
						require("lazy").show()
					end,
				})
			end

			local starter = require("mini.starter")
			starter.setup(config)

			vim.api.nvim_create_autocmd("User", {
				pattern = "LazyVimStarted",
				callback = function()
					local stats = require("lazy").stats()
					local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
					local pad_footer = string.rep(" ", 1)
					starter.config.footer = pad_footer
						.. "⚡ Neovim loaded "
						.. stats.count
						.. " plugins in "
						.. ms
						.. "ms"
					pcall(starter.refresh)
				end,
			})
		end,
	},
}
