-- --local wk = require("which-key") -- -- wk.add({ -- { "c", group = "crates" }, -- { "cA", function() require("crates").upgrade_all_crates() end, desc = "Upgrade all crates" }, -- { "cC", function() require("crates").open_creates_io() end, desc = "Open crates.io" }, -- { "cD", function() require("crates").open_documentation() end, desc = "Open documentation" }, -- { "cH", function() require("crates").open_homepage() end, desc = "Open homepage" }, -- { "cR", function() require("crates").open_repository() end, desc = "Open repository" }, -- { "cU", function() require("crates").upgrade_crate() end, desc = "Upgrade crate" }, -- { "cX", function() require("crates").extract_crate_into_table() end, desc = "Extract crate into table" }, -- { "ca", function() require("crates").update_all_crates() end, desc = "Update all crates" }, -- { "cd", function() require("crates").show_dependencies_popup() end, desc = "Show dependencies popup" }, -- { "cf", function() require("crates").show_features_popup() end, desc = "Show features popup" }, -- { "cr", function() require("crates").reload() end, desc = "Reload" }, -- { "ct", function() require("crates").toggle() end, desc = "Toggle" }, -- { "cu", function() require("crates").update_crate() end, desc = "Update crate" }, -- { "cv", function() require("crates").show_versions_popup() end, desc = "Show versions popup" }, -- { -- "cx", -- function() require("crates").expand_plain_crate_to_inline_table() end, -- desc = "Expand plain crate to inline table", -- }, -- -- { "lp", "Lazy profile", desc = "show Lazy profiler" }, -- -- { "e", "lua MiniFiles.open()", desc = "Files w/ Mini" }, -- { "E", "Lexplore", desc = "Files Sidebar" }, -- { "f", group = "Telescope" }, -- { "fb", "Telescope buffers", desc = "Find Buffer" }, -- { "fd", "Telescope lsp_document_symbols", desc = "Find LSP Symbols" }, -- { "ff", "Telescope find_files", desc = "Find File" }, -- { "fh", "Telescope help_tags", desc = "Find Help" }, -- { "fr", "Telescope oldfiles", desc = "Open Recent File", remap = true }, -- { "fs", "Telescope live_grep", desc = "Live Grep" }, -- { "fw", "Telescope grep_string", desc = "Find string under cursor" }, -- { -- "", -- function() require("telescope").extensions.smart_open.smart_open() end, -- mode = "n", -- silent = true, -- desc = "Smart open", -- }, -- -- { "g", group = "Gitsigns" }, -- { "gB", "Gitsigns blame", desc = "Toggle Blame Sidebar" }, -- { "gb", "Gitsigns blame_line", desc = "Show Blame Inline" }, -- { "gd", "Gitsigns toggle_deleted", desc = "Toggle deleted lines" }, -- { "gh", group = "hunks" }, -- { "ghl", "Gitsigns setloclist", desc = "List file Changes" }, -- { "ghn", "Gitsigns nav_hunk", desc = "Nav Hunk" }, -- { "gr", group = "reset" }, -- { "grb", "Gitsigns reset_buffer", desc = "Reset Buffer" }, -- { "grh", "Gitsigns reset_hunk", desc = "Reset Hunk" }, -- { "gs", group = "stage" }, -- { "gsb", "Gitsigns stage_buffer", desc = "Stage Buffer" }, -- { "gsh", "Gitsigns stage_hunk", desc = "Stage Hunk" }, -- { "gu", "Gitsigns undo_stage_hunk", desc = "Undo Stage Hunk" }, -- -- -- lsp and debugging -- { -- "i", -- function() require("conform").format({ async = true }) end, -- desc = "Auto format file with formatter", -- }, -- { -- "F3", -- function() require("conform").format({ async = true }) end, -- mode = "ni", -- desc = "Auto format file with formatter", -- }, -- { "le", vim.diagnostic.open_float, desc = "Open diagnostic float" }, -- { "K", desc = "Show definition" }, -- -- { "d", group = "Debugging" }, -- -- { -- -- { mode = "n" }, -- -- { "dn", require("dap").new, desc = "Start Debugger" }, -- -- { "db", require("dap").toggle_breakpoint, desc = "Toggle breakpoint" }, -- -- { "dc", require("dap").continue, desc = "Continue" }, -- -- }, -- -- -- trouble plugin -- { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)" }, -- { "xX", "Trouble diagnostics toggle filter.buf=0", desc = "Buffer Diagnostics (Trouble)" }, -- { "xs", "Trouble symbols toggle focus=false", desc = "Symbols (Trouble)" }, -- { -- "xl", -- "Trouble lsp toggle focus=false win.position=right", -- desc = "LSP Definitions / references / ... (Trouble)", -- }, -- { "xL", "Trouble loclist toggle", desc = "Location List (Trouble)" }, -- { "xQ", "Trouble qflist toggle", desc = "Quickfix List (Trouble)" }, -- -- -- QOL shortcuts -- { "n", "nohl", desc = "Stop highlighting search results" }, -- { "m", "NoiceDismiss", desc = "Dismiss notifications" }, -- { "M", "Markview toggle", desc = "Markview toggle source view" }, -- -- { "r", group = "Rename" }, -- { "rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" }, -- -- { "s", group = "Sessions" }, -- { "sl", function() require("nvim-possession").list() end, desc = "List sesssions" }, -- { "sn", function() require("nvim-possession").new() end, desc = "Create new session" }, -- { "su", function() require("nvim-possession").update() end, desc = "Update Session" }, -- { "sd", function() require("nvim-possession").delete() end, desc = "Delete Session" }, -- -- { "t", group = "tabs" }, -- { "ta", "tabnew", desc = "Add new Tab" }, -- { "tc", "tabclose", desc = "Close Tab" }, -- { "tf", "tabfirst", desc = "First Tab" }, -- { "tl", "tablast", desc = "Last Tab" }, -- { "tm", group = "Move Tab" }, -- { "tmf", "tabmove 0", desc = "Move Tab to First" }, -- { "tmi", ":tabmove ", desc = "Input position to move Tab to" }, -- { "tml", "tabmove $", desc = "Move Tab to Last" }, -- { "tn", "tabnext", desc = "Next Tab" }, -- { "tp", "tabprevious", desc = "Previous Tab" }, -- -- { "u", desc = "Toggle undo-tree" }, -- { "w", group = "Workspaces + Whichkey" }, -- { "wa", desc = "Add workspace folder" }, -- { "wr", desc = "Remove workspace folder" }, -- { "ww", "WhichKey", desc = "Show keybindings" }, -- { "y", desc = "Copy to system clipboard" }, -- { "Y", desc = "Copy line to system clipboard" }, -- -- -- mini.nvim additions -- { "va", group = "select around" }, --{{{1 mini.ai -- { "va(", desc = "() parens" }, -- { "va)", desc = "() parens" }, -- { "va[", desc = "[] brackets" }, -- { "va]", desc = "[] brackets" }, -- { "va{", desc = "{} braces" }, -- { "va}", desc = "{} braces" }, -- { "va<", desc = "<> braces" }, -- { "va>", desc = "<> braces" }, -- { 'va"', desc = '""' }, -- { "va'", desc = "''" }, -- { "val", desc = "last selection" }, -- -- { "vi", group = "select inside" }, -- { "vi(", desc = "() parens" }, -- { "vi)", desc = "() parens" }, -- { "vi[", desc = "[] brackets" }, -- { "vi]", desc = "[] brackets" }, -- { "vi{", desc = "{} braces" }, -- { "vi}", desc = "{} braces" }, -- { "vi<", desc = "<> braces" }, -- { "vi>", desc = "<> braces" }, -- { 'vi"', desc = '""' }, -- { "vi'", desc = "''" }, -- { "vil", desc = "last selection" }, -- --}}} -- -- { "[", group = "move to prev" }, --{{{2 "brackets" -- { "[B", desc = "First Buffer" }, -- { "[b", desc = "Prev Buffer" }, -- { "[X", desc = "First Conflict" }, -- { "[x", desc = "Prev Conflict" }, -- { "[I", desc = "First Indent" }, -- { "[i", desc = "Prev Indent" }, -- { "[I", desc = "First Indent" }, -- { "[i", desc = "Prev Indent" }, -- { "[W", desc = "First Window in Tab" }, -- { "[w", desc = "Prev Window in Tab" }, -- { "[F", desc = "First File" }, -- { "[f", desc = "Prev File" }, -- { "[O", desc = "First Oldfile" }, -- { "[o", desc = "Prev Oldfile" }, -- { "[Q", desc = "First Quickfix" }, -- { "[q", desc = "Prev Quickfix" }, -- { "[Y", desc = "First Yank selection replacing latest put region" }, -- { "[y", desc = "Prev Yank selection replacing latest put region" }, -- -- { "]", group = "move next" }, -- { "]B", desc = "Last Buffer" }, -- { "]b", desc = "Next Buffer" }, -- { "]X", desc = "Last Conflict" }, -- { "]x", desc = "Next Conflict" }, -- { "]I", desc = "Last Indent" }, -- { "]i", desc = "Next Indent" }, -- { "]I", desc = "Last Indent" }, -- { "]i", desc = "Next Indent" }, -- { "]W", desc = "Last Window in Tab" }, -- { "]w", desc = "Next Window in Tab" }, -- { "]F", desc = "Last File" }, -- { "]f", desc = "Next File" }, -- { "]O", desc = "Last Oldfile" }, -- { "]o", desc = "Next Oldfile" }, -- { "]Q", desc = "Last Quickfix" }, -- { "]q", desc = "Next Quickfix" }, -- { "]Y", desc = "Last Yank selection replacing latest put region" }, -- { "]y", desc = "Next Yank selection replacing latest put region" }, -- --}}} -- -- { "gcc", desc = "Comment Line" }, -- { -- mode = { "v" }, -- { "gc", group = "Comment" }, -- { "g=", desc = "evaluate expression" }, -- { "gm", desc = "duplicate" }, -- { "gr", desc = "replace with register" }, -- { "gs", desc = "sort" }, -- { "gx", desc = "exchange region" }, -- }, -- }) -- -- wk.add({ -- -- These somehow have no effect whatsoever -- -- { "c", group = "change" }, -- -- { "c[", group = "back" }, -- -- { "c]", group = "forward" }, -- -- { "cg", group = "jump" }, -- -- -- -- { "d", group = "delete" }, -- -- { "d[", group = "back" }, -- -- { "d]", group = "forward" }, -- -- { "dg", group = "jump" }, -- -- { "K", desc = "Show definition" }, -- { "[", group = "jump backward" }, -- { "[c", desc = "Previous diff change" }, -- { "[d", desc = "Previous Diagnostic" }, -- { "[h", "Gitsigns prev_hunk", desc = "Previous changed git block" }, -- { "]", group = "jump forward" }, -- { "]c", desc = "Next diff change" }, -- { "]d", desc = "Next Diagnostic" }, -- { "]h", "Gitsigns next_hunk", desc = "Next changed git block" }, -- { "g", group = "lsp functions" }, -- { "gD", desc = "go to declaration" }, -- { "gd", desc = "go to definition" }, -- { "gi", desc = "show implementations" }, -- { "gr", desc = "list all references to symbol under cursor" }, -- }) function whichkeyUndotree() wk.add({ { "j", desc = "jump to next undo node" }, { "gj", desc = "jump to the parent node of the node under the cursor" }, { "k", desc = "jump to previous undo node" }, { "J", desc = "jump to next undo node and undo to this state" }, { "K", desc = "jump to previous undo node and undo to this state" }, { "q", desc = "quit undotree" }, { "p", desc = "jump into undetree diff window" }, { "", desc = "undo to this state" }, }) end