return {
	"echasnovski/mini.diff",
	depends = { "echasnovski/mini.nvim" },
	opts = {

		-- Options for how hunks are visualized
		view = {
			-- Visualization style. Possible values are 'sign' and 'number'.
			-- Default: 'number' if line numbers are enabled, 'sign' otherwise.
			style = vim.go.number and "number" or "sign",

			-- Signs used for hunks with 'sign' view
			signs = { add = "▒", change = "▒", delete = "▒" },

			-- Priority of used visualization extmarks
			priority = 199,
		},

		-- Source for how reference text is computed/updated/etc
		-- Uses content from Git index by default
		source = nil,

		-- Delays (in ms) defining asynchronous processes
		delay = {
			-- How much to wait before update following every text change
			text_change = 200,
		},

		-- Module mappings. Use `''` (empty string) to disable one.
		mappings = {
			-- Apply hunks inside a visual/operator region
			apply = "gh",

			-- Reset hunks inside a visual/operator region
			reset = "gH",

			-- Hunk range textobject to be used inside operator
			-- Works also in Visual mode if mapping differs from apply and reset
			textobject = "gh",

			-- Go to hunk range in corresponding direction
			goto_first = "[H",
			goto_prev = "[h",
			goto_next = "]h",
			goto_last = "]H",
		},

		-- Various options
		options = {
			-- Diff algorithm. See `:h vim.diff()`.
			algorithm = "histogram",

			-- Whether to use "indent heuristic". See `:h vim.diff()`.
			indent_heuristic = true,

			-- The amount of second-stage diff to align lines (in Neovim>=0.9)
			linematch = 60,

			-- Whether to wrap around edges during hunk navigation
			wrap_goto = false,
		},
	},
}