return { 'echasnovski/mini.nvim', version = '*', dependencies = { "rafamadriz/friendly-snippets", }, config = function() require('mini.icons').setup() require('mini.bracketed').setup() -- [] movement for various stuff require("mini.ai").setup({}) require('mini.cursorword').setup() -- Hightlight word under cursor require('mini.extra').setup() require('mini.jump').setup() -- Extend f, F, t, T require('mini.surround').setup() require('mini.operators').setup() require('mini.pairs').setup() require('mini.splitjoin').setup() require("mini.align").setup({}) require('mini.animate').setup() require('mini.files').setup() -- file explorer vim.keymap.set("n", "e", ":lua MiniFiles.open(vim.api.nvim_buf_get_name(0))", { desc = "Integrated file explorer", silent = true }) require('mini.move').setup({ mappings = { -- Move visual selection in Visual mode left = 'H', right = 'L', down = 'J', up = 'K', -- Move current line in Normal mode line_left = '', line_right = '', line_down = '', line_up = '', }, }) require('mini.comment').setup({ options = { -- Whether to ignore blank lines when commenting ignore_blank_line = true, -- Whether to ignore blank lines in actions and textobject start_of_line = true, }, }) local gen_loader = require('mini.snippets').gen_loader require('mini.snippets').setup({ snippets = { -- Load custom file with global snippets first (adjust for Windows) gen_loader.from_file('~/.config/nvim-unstable/snippets/global.json'), -- Load snippets based on current language by reading files from -- "snippets/" subdirectories from 'runtimepath' directories. gen_loader.from_lang(), }, }) local miniclue = require("mini.clue") miniclue.setup({ triggers = { -- Leader triggers { mode = "n", keys = "" }, { mode = "v", keys = "" }, { mode = "x", keys = "" }, -- Built-in completion { mode = "i", keys = "" }, -- `g` key { mode = "n", keys = "g" }, { mode = "x", keys = "g" }, -- Marks { mode = "n", keys = "'" }, { mode = "n", keys = "`" }, { mode = "x", keys = "'" }, { mode = "x", keys = "`" }, -- Registers { mode = "n", keys = '"' }, { mode = "x", keys = '"' }, { mode = "i", keys = "" }, { mode = "c", keys = "" }, -- Window commands { mode = "n", keys = "" }, -- `z` key { mode = "n", keys = "z" }, { mode = "x", keys = "z" }, }, -- Add a "postkeys" value to activate those keys after others clues = { miniclue.gen_clues.builtin_completion(), miniclue.gen_clues.g(), miniclue.gen_clues.marks(), miniclue.gen_clues.registers(), miniclue.gen_clues.windows(), miniclue.gen_clues.z(), { mode = "n", keys = "", desc = "+Bookmarks" }, { mode = "n", keys = "n", postkeys = "" }, { mode = "n", keys = "N", postkeys = "" }, { mode = "n", keys = "b", desc = "+Buffers" }, { mode = "n", keys = "bh", postkeys = "b" }, { mode = "n", keys = "bl", postkeys = "b" }, { mode = "n", keys = "f", desc = "+Find" }, { mode = "n", keys = "g", desc = "+Git" }, { mode = "n", keys = "l", desc = "+LSP" }, { mode = "n", keys = "r", desc = "+Replace" }, { mode = "n", keys = "u", desc = "+UI & Config" }, { mode = "n", keys = "un", desc = "+Noice" }, { mode = "n", keys = "w", desc = "+Workspace" }, { mode = "n", keys = "p", desc = "+Run stuff" }, { mode = "n", keys = "z", desc = "+ZK" }, { mode = "v", keys = "z", desc = "+ZK" }, { mode = "v", keys = "a", desc = "+AI" }, { mode = "n", keys = "a", desc = "+AI" }, { mode = "n", keys = "g?", desc = "+Print Debug" }, }, -- Clue window settings window = { -- Floating window config config = { width = "auto", }, -- Delay before showing clue window delay = 200, -- Keys to scroll inside the clue window scroll_down = "", scroll_up = "", }, }) local hipatterns = require('mini.hipatterns') hipatterns.setup({ highlighters = { -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, -- Highlight hex color strings (`#rrggbb`) using that color hex_color = hipatterns.gen_highlighter.hex_color(), }, }) end }