diff options
author | Toby Vincent <tobyv13@gmail.com> | 2023-05-29 16:59:11 -0500 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2023-05-29 16:59:11 -0500 |
commit | c14172cb6df3c5f3aafec6110b30f2e0db6a1234 (patch) | |
tree | ba6755b180cf3163a0f9f6140dbe0fc5c485878a /nvim | |
parent | fd1b9d18c5a77d55e6a84e9684571904d0956d7d (diff) |
refactor(nvim): improve dap config and lazy load
Diffstat (limited to 'nvim')
-rw-r--r-- | nvim/.config/nvim/lua/plugins/cmp-dap.lua | 19 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/plugins/dap.lua | 105 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/plugins/telescope-dap.lua | 25 |
3 files changed, 70 insertions, 79 deletions
diff --git a/nvim/.config/nvim/lua/plugins/cmp-dap.lua b/nvim/.config/nvim/lua/plugins/cmp-dap.lua new file mode 100644 index 0000000..a17d6da --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/cmp-dap.lua @@ -0,0 +1,19 @@ +---@type LazySpec +local M = { + "rcarriga/cmp-dap", + ft = { "dap-repl" }, + dependencies = { + "mfussenegger/nvim-dap", + "hrsh7th/nvim-cmp", + }, +} + +function M:config() + require("cmp").setup.filetype({ "dap-repl" }, { + sources = { + { name = "dap" }, + }, + }) +end + +return M diff --git a/nvim/.config/nvim/lua/plugins/dap.lua b/nvim/.config/nvim/lua/plugins/dap.lua index d9431c9..127294d 100644 --- a/nvim/.config/nvim/lua/plugins/dap.lua +++ b/nvim/.config/nvim/lua/plugins/dap.lua @@ -1,52 +1,23 @@ +---@type LazySpec + local M = { "mfussenegger/nvim-dap", + cmd = { + "Break", + "DapShowLog", + "DapContinue", + "DapToggleBreakpoint", + "DapLoadLaunchJSON", + }, + keys = { + "<leader>db", + "<leader>dc", + "<F5>", + }, dependencies = { - { - "nvim-telescope/telescope-dap.nvim", - dependencies = { - "nvim-telescope/telescope.nvim", - }, - init = function() - vim.keymap.set("n", "<leader>dC", function() - require("telescope").extensions.dap.commands() - end, { desc = "commands" }) - - vim.keymap.set("n", "<leader>dd", function() - require("telescope").extensions.dap.configurations() - end, { desc = "configurations" }) - - vim.keymap.set("n", "<leader>dl", function() - require("telescope").extensions.dap.list_breakpoints() - end, { desc = "breakpoints" }) - - vim.keymap.set("n", "<leader>df", function() - require("telescope").extensions.dap.frames() - end, { desc = "frames" }) - - vim.keymap.set("n", "<leader>dv", function() - require("telescope").extensions.dap.variables() - end, { desc = "variables" }) - end, - config = function() - require("telescope").load_extension("dap") - end, - }, - { - "rcarriga/cmp-dap", - ft = { "dap-repl" }, - dependencies = { - "hrsh7th/nvim-cmp", - }, - config = function() - require("cmp").setup.filetype({ "dap-repl" }, { - sources = { - { name = "dap" }, - }, - }) - end, - }, "mfussenegger/nvim-dap-python", "leoluz/nvim-dap-go", + "nvim-telescope/telescope-dap.nvim", { "LiadOz/nvim-dap-repl-highlights", dependencies = { "nvim-treesitter/nvim-treesitter" }, @@ -57,45 +28,11 @@ local M = { dependencies = { "nvim-treesitter/nvim-treesitter" }, opts = { commented = true, - display_callback = function(variable) - return " " .. variable.value - end, }, }, }, } -function M.init() - local dap = setmetatable({}, { - __index = function(_, k) - return function() - require("dap")[k]() - end - end, - }) - - 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" }) - 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", function() - vim.ui.input({ prompt = "Condition: " }, function(cond) - vim.ui.input({ prompt = "Hit condition: " }, function(hit) - vim.ui.input({ prompt = "Log point message: " }, function(msg) - require("dap").set_breakpoint(cond, hit, msg) - end) - end) - end) - end, { desc = "custom breakpoint" }) -end - function M.config() require("dap").listeners.after.event_initialized["User"] = function() vim.api.nvim_exec_autocmds("User", { pattern = "DapAttach" }) @@ -126,7 +63,17 @@ function M.config() vim.fn.sign_define("DapLogPoint", { text = " ", texthl = "debugBreakpoint" }) vim.fn.sign_define("DapStopped", { text = " ", texthl = "debugBreakpoint" }) - require("nvim-dap-repl-highlights") + vim.keymap.set("n", "<F5>", require("dap").continue, { desc = "continue" }) + vim.keymap.set("n", "<F10>", require("dap").step_over, { desc = "step over" }) + vim.keymap.set("n", "<F11>", require("dap").step_into, { desc = "step into" }) + vim.keymap.set("n", "<F12>", require("dap").step_out, { desc = "step out" }) + vim.keymap.set("n", "<leader>dq", require("dap").terminate, { desc = "terminate" }) + vim.keymap.set("n", "<leader>db", require("dap").toggle_breakpoint, { desc = "toggle breakpoint" }) + vim.keymap.set("n", "<leader>dl", require("dap.ui.widgets").hover) + + vim.api.nvim_create_user_command("Break", function(opts) + require("dap").toggle_breakpoint(unpack(opts.fargs)) + end, { nargs = "*", desc = "toggle breakpoint" }) end return M diff --git a/nvim/.config/nvim/lua/plugins/telescope-dap.lua b/nvim/.config/nvim/lua/plugins/telescope-dap.lua new file mode 100644 index 0000000..5f2e205 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/telescope-dap.lua @@ -0,0 +1,25 @@ +---@type LazySpec +local M = { + "nvim-telescope/telescope-dap.nvim", + keys = { + "<leader>dC", + "<leader>dd", + }, + dependencies = { + "nvim-telescope/telescope.nvim", + "mfussenegger/nvim-dap", + }, +} + +function M:config() + require("telescope").load_extension("dap") + local ts_dap = require("telescope").extensions.dap + + vim.keymap.set("n", "<leader>dC", ts_dap.commands, { desc = "commands" }) + vim.keymap.set("n", "<leader>dd", ts_dap.configurations, { desc = "configurations" }) + vim.keymap.set("n", "<leader>dB", ts_dap.list_breakpoints, { desc = "breakpoints" }) + vim.keymap.set("n", "<leader>df", ts_dap.frames, { desc = "frames" }) + vim.keymap.set("n", "<leader>dv", ts_dap.variables, { desc = "variables" }) +end + +return M |