vim.api.nvim_set_keymap('', '', '', { noremap = true, silent = true }) vim.g.mapleader = " " vim.g.maplocalleader = " " -- nnoremap lua require'dap'.continue() -- nnoremap lua require'dap'.step_over() -- nnoremap lua require'dap'.step_into() -- nnoremap lua require'dap'.step_out() -- nnoremap b lua require'dap'.toggle_breakpoint() -- nnoremap B lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: ')) -- nnoremap lp lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) -- nnoremap dr lua require'dap'.repl.open() -- nnoremap dl lua require'dap'.run_last() local options = { noremap = true, silent = true } local normal_mode_maps = { -- toggles { key = '', map = [[set number! relativenumber!]] }, -- dap { key = '', map = [[lua require'dap'.continue()]] }, { key = '', map = [[lua require'dap'.step_over()]] }, { key = '', map = [[lua require'dap'.step_into()]] }, { key = '', map = [[lua require'dap'.step_out()]] }, { key = 'bb', map = [[lua require'dap'.toggle_breakpoint()]] }, { key = 'B', map = [[lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))]] }, { key = 'lp', map = [[lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))]] }, { key = 'dr', map = [[lua require'dap'.repl.open()]] }, { key = 'dl', map = [[lua require'dap'.run_last()]] }, -- navigation { key = '', map = [[]] }, { key = 'n', map = [[bnext]] }, { key = 'p', map = [[bprev]] }, { key = 'q', map = [[bw]] }, { key = 'v', map = [[CHADopen]] }, -- " Find files using Telescope command-line sugar. { key = 'ff', map = [[lua require('telescope.builtin').find_files()]] }, { key = 'gg', map = [[lua require('telescope.builtin').live_grep()]] }, { key = ';', map = [[lua require('telescope.builtin').buffers()]] }, { key = 'fh', map = [[lua require('telescope.builtin').help_tags()]] }, { key = 'gB', map = [[Git blame]] }, { key = 'rd', map = [[RustDebuggables]] }, { key = 'rr', map = [[RustRunnables]] }, { key = 'Vdiff', map = [[vertical Gdiffsplit]] }, { key = 'Vdiff!', map = [[vertical Gdiffsplit!]] }, { key = 'ssr', map = [[lua require'rust-tools'.ssr.ssr(query)]] }, -- Session { key = 'ss', map = [[SessionSave]] }, { key = 'sl', map = [[SessionLoad]] }, -- lsp { key = 'K', map = [[lua vim.lsp.buf.hover()]] }, { key = '', map = [[lua vim.lsp.buf.definition()]] }, { key = 'gi', map = [[lua vim.lsp.buf.implementation()]] }, { key = 'o', map = [[TroubleToggle]] }, -- { key = 'a', map = [[lua vim.lsp.buf.document_highlight()]] }, -- { key = 'c', map = [[lua vim.lsp.buf.clear_references()]] }, { key = '"', map = [["+]] }, { key = 'F', map = [[lua vim.lsp.buf.format { async = true }]] }, { key = 'T', map = [[lua require'lsp_extensions'.inlay_hints()]] }, -- { key = '', map = [[vsplit]] }, -- Other { key = 'm', map = [[silent !mpcfzf]] }, { key = 'l', map = [[Glow]] }, } local insert_mode_maps = { { key = '', map = '' }, { key = "", map = 'copilot#Accept("")', options = { silent = true, expr = true } }, { key = "", map = 'copilot#Accept("")', options = { silent = true, expr = true } }, } for idx = 1, #normal_mode_maps do if normal_mode_maps[idx].options then local options = normal_mode_maps[idx].options vim.api.nvim_set_keymap('n', normal_mode_maps[idx].key, normal_mode_maps[idx].map, options) else vim.api.nvim_set_keymap('n', normal_mode_maps[idx].key, normal_mode_maps[idx].map, options) end end for idx = 1, #insert_mode_maps do if insert_mode_maps[idx].options then local options = insert_mode_maps[idx].options vim.api.nvim_set_keymap('i', insert_mode_maps[idx].key, insert_mode_maps[idx].map, options) else vim.api.nvim_set_keymap('i', insert_mode_maps[idx].key, insert_mode_maps[idx].map, options) end end