---@diagnostic disable: redefined-local local function map(mode, keys, func, desc, silent) local silent = silent == nil and true or silent vim.keymap.set(mode, keys, func, { desc = desc, silent = silent }) end -- Movement between windows map('n', 'h', function() vim.cmd.wincmd('h') end, "Window Left") map('n', 'j', function() vim.cmd.wincmd('j') end, "Window Down") map('n', 'k', function() vim.cmd.wincmd('k') end, "Window Up") map('n', 'l', function() vim.cmd.wincmd('l') end, "Window Right") -- Harpoon keybinds map('n', 'mm', require('harpoon.mark').add_file, "[M]ark file in harpoon") map('n', 'mh', require('harpoon.ui').toggle_quick_menu, "[M]enu [H]arpoon") map('n', '1', function() require('harpoon.ui').nav_file(1) end, "Harpoon [1]") map('n', '2', function() require('harpoon.ui').nav_file(2) end, "Harpoon [2]") map('n', '3', function() require('harpoon.ui').nav_file(3) end, "Harpoon [3]") map('n', '4', function() require('harpoon.ui').nav_file(4) end, "Harpoon [4]") map('n', '5', function() require('harpoon.ui').nav_file(5) end, "Harpoon [5]") map('n', '6', function() require('harpoon.ui').nav_file(6) end, "Harpoon [6]") map('n', '7', function() require('harpoon.ui').nav_file(7) end, "Harpoon [7]") map('n', '8', function() require('harpoon.ui').nav_file(8) end, "Harpoon [8]") map('n', '9', function() require('harpoon.ui').nav_file(9) end, "Harpoon [9]") map('n', 'tg', vim.cmd.Neogit, '[T]oggle [G]it view') map('n', 'tu', require('undotree').toggle, '[T]oggle [U]ndo tree') map('n', '[d', vim.diagnostic.goto_prev, 'Goto Previous Diagnostic') map('n', ']d', vim.diagnostic.goto_next, 'Goto Next Diagnostic') map('n', 'e', vim.diagnostic.open_float, 'Show [E]rrors') map('n', 'q', vim.diagnostic.setloclist, 'Errors to [Q]uickfix') map('n', '?', require('telescope.builtin').oldfiles, '[?] Find recently opened files') map('n', '', require('telescope.builtin').find_files, '[ ]Search Files') map('n', 'sb', require('telescope.builtin').buffers, '[S]earch [B]uffers') map('n', 'sh', require('telescope.builtin').help_tags, '[S]earch [H]elp') map('n', 'sw', require('telescope.builtin').grep_string, '[S]earch current [W]ord') map('n', 'sg', require('telescope.builtin').live_grep, '[S]earch by [G]rep') map('n', 'sd', require('telescope.builtin').diagnostics, '[S]earch [D]iagnostics') map({ 'n', 't' }, '', require("FTerm").toggle, 'Toggle Terminal')