return { "folke/which-key.nvim", event = "VeryLazy", dependencies = { { "echasnovski/mini.icons", version = "*" }, }, version = "v3", keys = { { "?", function() require("which-key").show({ global = false }) end, desc = "Buffer Local Keymaps (which-key)", }, }, opts = { preset = "modern", sort = { "alphanum", "local", "order", "group", "mod", "lower", "icase" }, icons = {}, defaults = {}, disable = { ft = {}, bt = { "NeogitPopup" }, }, spec = { { mode = "v", "s", ":s///gI", desc = "substitute word", }, { { "X", function() vim.cmd("!chmod +x %") end, desc = "Make Executable", }, { "x", group = "Trouble" }, { "g", group = "Git" }, { "q", group = "Persistence" }, { "l", group = "LSP" }, { "w", group = "Workspace" }, { "p", group = "Picker" }, { "z", group = "Zen" }, { "o", group = "Action" }, { "r", group = "Rust" }, { "n", group = "Gitpat" }, { "m", group = "Misc" }, { "T", group = "VimTex" }, { "N", group = "Notifications" }, { "O", group = "Obsidian" }, { "s", group = "Neogen" }, { "t", group = "Neotest" }, { "k", group = "Kulala" }, { "d", group = "DAP", { "dp", group = "Python", }, }, { "L", group = "Languate settings", { "Lc", "setlocal formatoptions-=cro", desc = "Disable autocomment" }, { "LC", "setlocal formatoptions=cro", desc = "Enable autocomment" }, { "Ls", "setlocal spell!", desc = "Toggle spellchecker" }, { "Le", "setlocal spell spelllang=en_us", desc = "Enable English spellchecker" }, { "Ll", "setlocal spell spelllang=lv_LV", desc = "Enable Latvian spellchecker" }, { "LI", "setlocal autoindent", desc = "Enable autoindent" }, { "Li", "setlocal noautoindent", desc = "Disable autoindent" }, }, }, }, }, }