aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-10-04 15:30:19 -0500
committerToby Vincent <tobyv13@gmail.com>2022-10-04 15:30:19 -0500
commit390cc47d640ff151fc6bf0b0719b914aade2fab4 (patch)
tree0c0f849a536fd579220145f4809d7766c3911872 /nvim
parentc480adcf9ea5064df4a23a1575294deeae30f85e (diff)
refactor(nvim): improve dap config
Diffstat (limited to 'nvim')
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins.lua33
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/dap.lua155
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/dapui.lua92
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/git-worktree.lua18
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/nvim-dap-virtual-text.lua13
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua92
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