aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2023-05-29 16:59:11 -0500
committerToby Vincent <tobyv13@gmail.com>2023-05-29 16:59:11 -0500
commitc14172cb6df3c5f3aafec6110b30f2e0db6a1234 (patch)
treeba6755b180cf3163a0f9f6140dbe0fc5c485878a /nvim/.config
parentfd1b9d18c5a77d55e6a84e9684571904d0956d7d (diff)
refactor(nvim): improve dap config and lazy load
Diffstat (limited to 'nvim/.config')
-rw-r--r--nvim/.config/nvim/lua/plugins/cmp-dap.lua19
-rw-r--r--nvim/.config/nvim/lua/plugins/dap.lua105
-rw-r--r--nvim/.config/nvim/lua/plugins/telescope-dap.lua25
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