local map = vim.keymap.set map("n", ";", ":", { desc = "CMD enter command mode" }) map("i", "", "", { desc = "move left" }) map("i", "", "", { desc = "move right" }) map("i", "", "", { desc = "move down" }) map("i", "", "", { desc = "move up" }) map("n", "", "h", { desc = "switch window left" }) map("n", "", "l", { desc = "switch window right" }) map("n", "", "j", { desc = "switch window down" }) map("n", "", "k", { desc = "switch window up" }) map("n", "", "NeoTreeShowToggle", { desc = "nvimtree toggle window" }) map("n", "", "BufferLineMoveNext", { desc = "move buffer to right" }) map("n", "", "BufferLineMovePrev", { desc = "move buffer to left" }) map("n", "", "BufferLineCycleNext", { desc = "switch to next buffer" }) map("n", "", "BufferLineCyclePrev", { desc = "switch to prev buffer" }) map("n", "", "DapContinue") map("n", "", "DapToggleBreakpoint") map("n", "mk", "RustLsp moveItem upcr>") map("n", "m,", "RustLsp moveItem down") map("n", "rs", "RustLsp run") map("n", "ca", "RustLsp codeAction") map("n", "", "w!") map("i", "", "w!") map("n", "<", "") map("n", ">", ">gv") map("n", "dr", " DapContinue ", { desc = "Continue debug" } ) map("n", "do", function() require("dapui").open() end, { desc = "Open DAP ui" }) map("n", "dc", function() require("dapui").close() end, { desc = "Start or continue debug" }) map("n", "dt", function() require("dapui").toggle() end, { desc = "Toggle DAP ui" }) map("n", "rn", "set relativenumber") map("n", "an", "set norelativenumber") map("n", "tt", "ToggleTerm") map("n", "", "foldopen") map("n", "", "foldclose") map("n", "hh", require("hover").hover, {desc = "hover.nvim"}) map("n", "hs", require("hover").hover_select, {desc = "hover.nvim (select)"}) map("n", "", function() require("hover").hover_switch("previous") end, {desc = "hover.nvim (previous source)"}) map("n", "", function() require("hover").hover_switch("next") end, {desc = "hover.nvim (next source)"})