diff options
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins.lua | 33 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/dap.lua | 155 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/dapui.lua | 92 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/git-worktree.lua | 18 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/nvim-dap-virtual-text.lua | 13 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua | 92 |
6 files changed, 225 insertions, 178 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua index 41676b0..70797d9 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua @@ -259,10 +259,13 @@ M.plugins = function(use) requires = { "nvim-lua/plenary.nvim", "BurntSushi/ripgrep", - "nvim-telescope/telescope-packer.nvim", - "nvim-telescope/telescope-github.nvim", + "nvim-telescope/telescope-frecency.nvim", { "nvim-telescope/telescope-fzf-native.nvim", run = "make" }, { "nvim-telescope/telescope-smart-history.nvim", requires = { "tami5/sqlite.lua", module = "sqlite" } }, + "nvim-telescope/telescope-dap.nvim", + "nvim-telescope/telescope-packer.nvim", + "nvim-telescope/telescope-github.nvim", + "ThePrimeagen/git-worktree.nvim", }, config = function() require("tobyvin.plugins.telescope").setup() @@ -432,7 +435,7 @@ M.plugins = function(use) use({ "ThePrimeagen/git-worktree.nvim", config = function() - require("tobyvin.plugins.git-worktree") + require("tobyvin.plugins.git-worktree").setup() end, }) @@ -446,9 +449,6 @@ M.plugins = function(use) use({ "mfussenegger/nvim-dap", requires = { - "rcarriga/nvim-dap-ui", - { "theHamsta/nvim-dap-virtual-text", requires = "nvim-treesitter/nvim-treesitter" }, - { "nvim-telescope/telescope-dap.nvim", requires = "nvim-telescope/telescope.nvim" }, "leoluz/nvim-dap-go", }, config = function() @@ -456,6 +456,27 @@ M.plugins = function(use) end, }) + use({ + "theHamsta/nvim-dap-virtual-text", + requires = { + "mfussenegger/nvim-dap", + "nvim-treesitter/nvim-treesitter", + }, + config = function() + require("tobyvin.plugins.nvim-dap-virtual-text").setup() + end, + }) + + use({ + "rcarriga/nvim-dap-ui", + requires = { + "mfussenegger/nvim-dap", + }, + config = function() + require("tobyvin.plugins.dapui").setup() + end, + }) + use({ "ellisonleao/glow.nvim" }) use("nacro90/numb.nvim") use("ThePrimeagen/harpoon") diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua b/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua index 3773500..547061a 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua @@ -1,35 +1,5 @@ local utils = require("tobyvin.utils") -local M = { - dapui_win = nil, - dapui_tab = nil, -} - -M.highlights = function() - local ns_id = 0 - -- nvim-dap - vim.api.nvim_set_hl(ns_id, "DapBreakpoint", { link = "debugBreakpoint" }) - vim.api.nvim_set_hl(ns_id, "DapStopped", { link = "debugPC" }) - - -- nvim-dap-ui - vim.api.nvim_set_hl(ns_id, "DapUIVariable", { link = "TSVariable" }) - vim.api.nvim_set_hl(ns_id, "DapUIScope", { link = "TSNamespace" }) - vim.api.nvim_set_hl(ns_id, "DapUIType", { link = "Type" }) - vim.api.nvim_set_hl(ns_id, "DapUIModifiedValue", { link = "Keyword" }) - vim.api.nvim_set_hl(ns_id, "DapUIDecoration", { link = "PreProc" }) - vim.api.nvim_set_hl(ns_id, "DapUIThread", { link = "String" }) - vim.api.nvim_set_hl(ns_id, "DapUIStoppedThread", { link = "Special" }) - vim.api.nvim_set_hl(ns_id, "DapUIFrameName", { link = "Normal" }) - vim.api.nvim_set_hl(ns_id, "DapUISource", { link = "TSKeyword" }) - vim.api.nvim_set_hl(ns_id, "DapUILineNumber", { link = "TSOperator" }) - vim.api.nvim_set_hl(ns_id, "DapUIFloatBorder", { link = "FloatBorder" }) - vim.api.nvim_set_hl(ns_id, "DapUIWatchesEmpty", { link = "LspDiagnosticsError" }) - vim.api.nvim_set_hl(ns_id, "DapUIWatchesValue", { link = "String" }) - vim.api.nvim_set_hl(ns_id, "DapUIWatchesError", { link = "LspDiagnosticsError" }) - vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsPath", { link = "Keyword" }) - vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsInfo", { link = "LspDiagnosticsInfo" }) - vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsCurrentLine", { link = "DapStopped" }) - vim.api.nvim_set_hl(ns_id, "DapUIBreakpointsLine", { link = "DapUILineNumber" }) -end +local M = {} M.set_custom_breakpoint = function() vim.ui.input({ prompt = "Condition: " }, function(condition) @@ -41,54 +11,6 @@ M.set_custom_breakpoint = function() end) end -M.eval = function() - vim.ui.input({ prompt = "Expr: " }, function(input) - require("dapui").eval(input, {}) - end) -end - -M.dapui_open = function() - if M.dapui_win and vim.api.nvim_win_is_valid(M.dapui_win) then - vim.api.nvim_set_current_win(M.dapui_win) - return - end - - local dap = require("dap") - local dapui = require("dapui") - - vim.cmd("tabedit %") - M.dapui_win = vim.fn.win_getid() - M.dapui_tab = vim.api.nvim_win_get_tabpage(M.dapui_win) - - dapui.open({}) - - vim.keymap.set("n", "<leader>q", dap.terminate, { desc = "Quit (DAP)" }) - - local on_tab_closed = function() - dap.terminate() - return true - end - - local group = vim.api.nvim_create_augroup("DapAU", { clear = true }) - vim.api.nvim_create_autocmd("TabClosed", { group = group, callback = on_tab_closed }) -end - -M.dapui_close = function() - local dapui = require("dapui") - - dapui.close({}) - - vim.keymap.set("n", "<leader>q", utils.buffer.quit, { desc = "Quit" }) - - if M.dapui_tab and vim.api.nvim_tabpage_is_valid(M.dapui_tab) then - local tabnr = vim.api.nvim_tabpage_get_number(M.dapui_tab) - vim.cmd("tabclose " .. tabnr) - end - - M.dapui_win = nil - M.dapui_tab = nil -end - M.progress_start = function(session, body) local notif_data = utils.debug.get_notif_data("dap", body.progressId) @@ -106,10 +28,11 @@ end M.progress_update = function(_, body) local notif_data = utils.debug.get_notif_data("dap", body.progressId) - notif_data.notification = vim.notify(utils.debug.format_message(body.message, body.percentage), "info", { - replace = notif_data.notification, - hide_from_history = false, - }) + notif_data.notification = + vim.notify(utils.debug.format_message(body.message, body.percentage), vim.log.levels.INFO, { + replace = notif_data.notification, + hide_from_history = false, + }) end M.progress_end = function(_, body) @@ -211,57 +134,45 @@ M.setup = function() -- Language specific plugins require("dap-go").setup() - -- Virtual text - require("nvim-dap-virtual-text").setup({}) - - -- DAPUI - require("dapui").setup() - - -- Progress handlers dap.listeners.before.event_progressStart["progress-notifications"] = M.progress_start dap.listeners.before.event_progressUpdate["progress-notifications"] = M.progress_update dap.listeners.before.event_progressEnd["progress-notifications"] = M.progress_end - -- Delete repl buffer dap.listeners.before.event_terminated["close_repl"] = dap.repl.close dap.listeners.before.event_exited["close_repl"] = dap.repl.close - -- Attach DAP UI to DAP events - dap.listeners.after.event_initialized["dapui_config"] = M.dapui_open - dap.listeners.before.event_terminated["dapui_config"] = M.dapui_close - dap.listeners.before.event_exited["dapui_config"] = M.dapui_close - dap.listeners.before.disconnect["dapui_config"] = M.dapui_close - - -- Telescope - require("telescope").load_extension("dap") + local keymap_restore = {} + dap.listeners.after.event_initialized["keymap"] = function() + for _, buf in pairs(vim.api.nvim_list_bufs()) do + local keymaps = vim.api.nvim_buf_get_keymap(buf, "n") + for _, keymap in pairs(keymaps) do + if keymap.lhs == "K" then + table.insert(keymap_restore, keymap) + vim.api.nvim_buf_del_keymap(buf, "n", "K") + end + end + end + vim.keymap.set("n", "K", require("dap.ui.widgets").hover, { desc = "Hover" }) + end + dap.listeners.before.event_terminated["keymap"] = function() + for _, k in pairs(keymap_restore) do + vim.keymap.set(k.mode, k.lhs, vim.F.if_nil(k.callback, k.rhs), { desc = k.desc }) + end + keymap_restore = {} + end - -- Keymaps + utils.keymap.group("n", "<leader>d", { desc = "Debug" }) vim.keymap.set("n", "<F5>", dap.continue, { desc = "Continue" }) vim.keymap.set("n", "<F10>", dap.step_over, { desc = "Step Over" }) vim.keymap.set("n", "<F11>", dap.step_into, { desc = "Step Into" }) vim.keymap.set("n", "<F12>", dap.step_out, { desc = "Step Out" }) - - local nmap = utils.keymap.group("n", "<leader>d", { desc = "Debug" }) - nmap("d", require("telescope").extensions.dap.configurations, { desc = "Configurations" }) - nmap("c", dap.continue, { desc = "Continue" }) - nmap("a", dap.step_over, { desc = "Step Over" }) - nmap("i", dap.step_into, { desc = "Step Into" }) - nmap("o", dap.step_out, { desc = "Step Out" }) - nmap("q", dap.terminate, { desc = "Terminate" }) - - nmap("b", dap.toggle_breakpoint, { desc = "Toggle Breakpoint" }) - nmap("B", M.set_custom_breakpoint, { desc = "Custom Breakpoint" }) - - nmap("C", require("telescope").extensions.dap.commands, { desc = "Commands" }) - nmap("l", require("telescope").extensions.dap.list_breakpoints, { desc = "List Breakpoints" }) - nmap("v", require("telescope").extensions.dap.variables, { desc = "Variables" }) - nmap("f", require("telescope").extensions.dap.frames, { desc = "Frames" }) - - nmap("e", M.eval, { desc = "Eval" }) - - vim.api.nvim_create_autocmd("ColorScheme", { - callback = M.highlights, - }) + vim.keymap.set("n", "<leader>dc", dap.continue, { desc = "Continue" }) + vim.keymap.set("n", "<leader>da", dap.step_over, { desc = "Step Over" }) + vim.keymap.set("n", "<leader>di", dap.step_into, { desc = "Step Into" }) + vim.keymap.set("n", "<leader>do", dap.step_out, { desc = "Step Out" }) + vim.keymap.set("n", "<leader>dq", dap.terminate, { desc = "Terminate" }) + vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint, { desc = "Toggle Breakpoint" }) + vim.keymap.set("n", "<leader>dB", M.set_custom_breakpoint, { desc = "Custom Breakpoint" }) -- Signs vim.fn.sign_define("DapBreakpoint", utils.debug.signs.breakpoint) diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/dapui.lua b/nvim/.config/nvim/lua/tobyvin/plugins/dapui.lua new file mode 100644 index 0000000..b392cc3 --- /dev/null +++ b/nvim/.config/nvim/lua/tobyvin/plugins/dapui.lua @@ -0,0 +1,92 @@ +local utils = require("tobyvin.utils") +local M = { + dapui_win = nil, + dapui_tab = nil, +} + +M.eval = function() + vim.ui.input({ prompt = "Expr: " }, function(input) + require("dapui").eval(input, {}) + end) +end + +M.open = function() + if M.dapui_win and vim.api.nvim_win_is_valid(M.dapui_win) then + vim.api.nvim_set_current_win(M.dapui_win) + return + end + + local dap = require("dap") + local dapui = require("dapui") + + vim.cmd("tabedit %") + M.dapui_win = vim.fn.win_getid() + M.dapui_tab = vim.api.nvim_win_get_tabpage(M.dapui_win) + + dapui.open({}) + + vim.keymap.set("n", "<leader>q", dap.terminate, { desc = "Quit (DAP)" }) + + vim.api.nvim_create_autocmd("TabClosed", { + group = vim.api.nvim_create_augroup("DapAU", { clear = true }), + callback = function() + dap.terminate() + return true + end, + }) +end + +M.close = function() + local dapui = require("dapui") + + dapui.close({}) + + vim.keymap.set("n", "<leader>q", utils.buffer.quit, { desc = "Quit" }) + + if M.dapui_tab and vim.api.nvim_tabpage_is_valid(M.dapui_tab) then + local tabnr = vim.api.nvim_tabpage_get_number(M.dapui_tab) + vim.cmd("tabclose " .. tabnr) + end + + M.dapui_win = nil + M.dapui_tab = nil +end + +M.setup = function() + local status_ok, dapui = pcall(require, "dapui") + if not status_ok then + vim.notify("Failed to load module 'dapui'", vim.log.levels.ERROR) + return + end + + local dap = require("dap") + + vim.keymap.set("n", "<leader>de", M.eval, { desc = "Eval" }) + vim.keymap.set("n", "<leader>du", dapui.open, { desc = "DapUI" }) + + -- Attach DAP UI to DAP events + dap.listeners.before.event_terminated["dapui_config"] = M.close + dap.listeners.before.event_exited["dapui_config"] = M.close + dap.listeners.before.disconnect["dapui_config"] = M.close + + vim.api.nvim_set_hl(0, "DapUIVariable", { link = "TSVariable" }) + vim.api.nvim_set_hl(0, "DapUIScope", { link = "TSNamespace" }) + vim.api.nvim_set_hl(0, "DapUIType", { link = "Type" }) + vim.api.nvim_set_hl(0, "DapUIModifiedValue", { link = "Keyword" }) + vim.api.nvim_set_hl(0, "DapUIDecoration", { link = "PreProc" }) + vim.api.nvim_set_hl(0, "DapUIThread", { link = "String" }) + vim.api.nvim_set_hl(0, "DapUIStoppedThread", { link = "Special" }) + vim.api.nvim_set_hl(0, "DapUIFrameName", { link = "Normal" }) + vim.api.nvim_set_hl(0, "DapUISource", { link = "TSKeyword" }) + vim.api.nvim_set_hl(0, "DapUILineNumber", { link = "TSOperator" }) + vim.api.nvim_set_hl(0, "DapUIFloatBorder", { link = "FloatBorder" }) + vim.api.nvim_set_hl(0, "DapUIWatchesEmpty", { link = "LspDiagnosticsError" }) + vim.api.nvim_set_hl(0, "DapUIWatchesValue", { link = "String" }) + vim.api.nvim_set_hl(0, "DapUIWatchesError", { link = "LspDiagnosticsError" }) + vim.api.nvim_set_hl(0, "DapUIBreakpointsPath", { link = "Keyword" }) + vim.api.nvim_set_hl(0, "DapUIBreakpointsInfo", { link = "LspDiagnosticsInfo" }) + vim.api.nvim_set_hl(0, "DapUIBreakpointsCurrentLine", { link = "DapStopped" }) + vim.api.nvim_set_hl(0, "DapUIBreakpointsLine", { link = "DapUILineNumber" }) +end + +return M diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/git-worktree.lua b/nvim/.config/nvim/lua/tobyvin/plugins/git-worktree.lua index 5064289..1d33491 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins/git-worktree.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins/git-worktree.lua @@ -1,13 +1,13 @@ -local status_ok, git_worktree = pcall(require, "git-worktree") -if not status_ok then - return -end +local M = {} -git_worktree.setup({}) +M.setup = function() + local status_ok, git_worktree = pcall(require, "git-worktree") + if not status_ok then + vim.notify("Failed to load module 'git-worktree'", vim.log.levels.ERROR) + return + end -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return + git_worktree.setup({}) end -require("telescope").load_extension("git_worktree") +return M diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-dap-virtual-text.lua b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-dap-virtual-text.lua new file mode 100644 index 0000000..ba1a7d4 --- /dev/null +++ b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-dap-virtual-text.lua @@ -0,0 +1,13 @@ +local M = {} + +M.setup = function() + local status_ok, nvim_dap_virtual_text = pcall(require, "nvim-dap-virtual-text") + if not status_ok then + vim.notify("Failed to load module 'dap-virtual-text'", vim.log.levels.ERROR) + return + end + + nvim_dap_virtual_text.setup({}) +end + +return M diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua index 344bd8e..ae62598 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua @@ -1,3 +1,4 @@ +local utils = require("tobyvin.utils") local M = {} M.setup = function() @@ -60,54 +61,63 @@ M.setup = function() -- Extensions telescope.load_extension("smart_history") telescope.load_extension("fzf") - telescope.load_extension("packer") - telescope.load_extension("gh") local builtins = require("telescope.builtin") + local extensions = telescope.extensions - local nmap_find = require("tobyvin.utils").keymap.group("n", "<leader>f", { desc = "Find" }) - nmap_find("a", builtins.autocommands, { desc = "Autocommands" }) - nmap_find("b", builtins.buffers, { desc = "Buffers" }) - nmap_find("c", builtins.commands, { desc = "Commands" }) - nmap_find("C", builtins.command_history, { desc = "Command History" }) - nmap_find("f", builtins.find_files, { desc = "Files" }) - nmap_find("F", builtins.filetypes, { desc = "Filetypes" }) - nmap_find("g", builtins.live_grep, { desc = "Grep" }) - nmap_find("h", builtins.help_tags, { desc = "Help" }) - nmap_find("H", builtins.highlights, { desc = "Highlights" }) - nmap_find("j", builtins.jumplist, { desc = "Jumplist" }) - nmap_find("k", builtins.keymaps, { desc = "Keymaps" }) - nmap_find("l", builtins.loclist, { desc = "Loclist" }) - nmap_find("m", builtins.marks, { desc = "Marks" }) - nmap_find("M", builtins.man_pages, { desc = "Man Pages" }) - nmap_find("o", builtins.oldfiles, { desc = "Old Files" }) - nmap_find("p", builtins.pickers, { desc = "Pickers" }) - nmap_find("r", builtins.resume, { desc = "Resume" }) - nmap_find("R", builtins.reloader, { desc = "Reloader" }) - nmap_find("s", builtins.spell_suggest, { desc = "Spell Suggest" }) - nmap_find("S", builtins.search_history, { desc = "Search History" }) - nmap_find("t", builtins.tags, { desc = "Tags" }) - nmap_find("t", builtins.colorscheme, { desc = "Colorscheme" }) - nmap_find("v", builtins.vim_options, { desc = "Vim Options" }) - nmap_find("'", builtins.registers, { desc = "Registers" }) + utils.keymap.group("n", "<leader>f", { desc = "Find" }) + utils.keymap.group("n", "<leader>g", { desc = "Git" }) - local nmap_git = require("tobyvin.utils").keymap.group("n", "<leader>g", { desc = "Git" }) - nmap_git("b", builtins.git_branches, { desc = "Checkout branch" }) - nmap_git("c", builtins.git_commits, { desc = "Checkout commit" }) - nmap_git("o", builtins.git_status, { desc = "Open changed file" }) + vim.keymap.set("n", "<leader>fa", builtins.autocommands, { desc = "Autocommands" }) + vim.keymap.set("n", "<leader>fb", builtins.buffers, { desc = "Buffers" }) + vim.keymap.set("n", "<leader>fc", builtins.commands, { desc = "Commands" }) + vim.keymap.set("n", "<leader>fC", builtins.command_history, { desc = "Command History" }) + vim.keymap.set("n", "<leader>ff", builtins.find_files, { desc = "Files" }) + vim.keymap.set("n", "<leader>fF", builtins.filetypes, { desc = "Filetypes" }) + vim.keymap.set("n", "<leader>fg", builtins.live_grep, { desc = "Grep" }) + vim.keymap.set("n", "<leader>fh", builtins.help_tags, { desc = "Help" }) + vim.keymap.set("n", "<leader>fH", builtins.highlights, { desc = "Highlights" }) + vim.keymap.set("n", "<leader>fj", builtins.jumplist, { desc = "Jumplist" }) + vim.keymap.set("n", "<leader>fk", builtins.keymaps, { desc = "Keymaps" }) + vim.keymap.set("n", "<leader>fl", builtins.loclist, { desc = "Loclist" }) + vim.keymap.set("n", "<leader>fm", builtins.marks, { desc = "Marks" }) + vim.keymap.set("n", "<leader>fM", builtins.man_pages, { desc = "Man Pages" }) + vim.keymap.set("n", "<leader>fo", builtins.oldfiles, { desc = "Old Files" }) + vim.keymap.set("n", "<leader>fp", builtins.pickers, { desc = "Pickers" }) + vim.keymap.set("n", "<leader>fr", builtins.resume, { desc = "Resume" }) + vim.keymap.set("n", "<leader>fR", builtins.reloader, { desc = "Reloader" }) + vim.keymap.set("n", "<leader>fs", builtins.spell_suggest, { desc = "Spell Suggest" }) + vim.keymap.set("n", "<leader>fS", builtins.search_history, { desc = "Search History" }) + vim.keymap.set("n", "<leader>ft", builtins.tags, { desc = "Tags" }) + vim.keymap.set("n", "<leader>ft", builtins.colorscheme, { desc = "Colorscheme" }) + vim.keymap.set("n", "<leader>fv", builtins.vim_options, { desc = "Vim Options" }) + vim.keymap.set("n", "<leader>f'", builtins.registers, { desc = "Registers" }) + vim.keymap.set("n", "<leader>gb", builtins.git_branches, { desc = "Checkout branch" }) + vim.keymap.set("n", "<leader>gc", builtins.git_commits, { desc = "Checkout commit" }) + vim.keymap.set("n", "<leader>gd", builtins.git_status, { desc = "Git diffs" }) - local nmap_git_wt = require("tobyvin.utils").keymap.group("n", "<leader>gw", { desc = "Worktree" }) - nmap_git_wt("s", telescope.extensions.git_worktree.git_worktrees, { desc = "Switch worktree" }) - nmap_git_wt("c", telescope.extensions.git_worktree.create_git_worktree, { desc = "Create worktree" }) + telescope.load_extension("git_worktree") + utils.keymap.group("n", "<leader>gw", { desc = "Worktree" }) + vim.keymap.set("n", "<leader>gw", extensions.git_worktree.git_worktrees, { desc = "Switch worktree" }) + vim.keymap.set("n", "<leader>gW", extensions.git_worktree.create_git_worktree, { desc = "Create worktree" }) - local nmap_git_gh = require("tobyvin.utils").keymap.group("n", "<leader>gG", { desc = "Github" }) - nmap_git_gh("i", telescope.extensions.gh.issues, { desc = "Issues" }) - nmap_git_gh("p", telescope.extensions.gh.pull_request, { desc = "Pull request" }) - nmap_git_gh("g", telescope.extensions.gh.gist, { desc = "Gist" }) - nmap_git_gh("r", telescope.extensions.gh.run, { desc = "Run" }) + telescope.load_extension("gh") + utils.keymap.group("n", "<leader>gG", { desc = "Github" }) + vim.keymap.set("n", "<leader>gGi", extensions.gh.issues, { desc = "Issues" }) + vim.keymap.set("n", "<leader>gGp", extensions.gh.pull_request, { desc = "Pull request" }) + vim.keymap.set("n", "<leader>gGg", extensions.gh.gist, { desc = "Gist" }) + vim.keymap.set("n", "<leader>gGr", extensions.gh.run, { desc = "Run" }) + + telescope.load_extension("packer") + utils.keymap.group("n", "<leader>p", { desc = "Packer" }) + vim.keymap.set("n", "<leader>pf", extensions.packer.packer, { desc = "Find plugins" }) - local nmap_packer = require("tobyvin.utils").keymap.group("n", "<leader>p", { desc = "Packer" }) - nmap_packer("f", telescope.extensions.packer.packer, { desc = "Find plugins" }) + telescope.load_extension("dap") + vim.keymap.set("n", "<leader>dd", extensions.dap.configurations, { desc = "Configurations" }) + vim.keymap.set("n", "<leader>dC", extensions.dap.commands, { desc = "Commands" }) + vim.keymap.set("n", "<leader>dl", extensions.dap.list_breakpoints, { desc = "List Breakpoints" }) + vim.keymap.set("n", "<leader>dv", extensions.dap.variables, { desc = "Variables" }) + vim.keymap.set("n", "<leader>df", extensions.dap.frames, { desc = "Frames" }) end return M |