From 44d28f5a3916cd6e5c54b9803546cae14850b293 Mon Sep 17 00:00:00 2001 From: 3dev Date: Mon, 26 Aug 2024 15:03:54 +0400 Subject: [PATCH] Added debugging to python --- lua/plugins/dap_ui.lua | 19 +++++++++++++++++++ lua/plugins/lsp/mason.lua | 1 + lua/plugins/python-debug.lua | 24 ++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 lua/plugins/dap_ui.lua create mode 100644 lua/plugins/python-debug.lua diff --git a/lua/plugins/dap_ui.lua b/lua/plugins/dap_ui.lua new file mode 100644 index 0000000..65fd78b --- /dev/null +++ b/lua/plugins/dap_ui.lua @@ -0,0 +1,19 @@ +return { + "rcarriga/nvim-dap-ui", + dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" }, + config = function() + local dap = require("dap") + local dapui = require("dapui") + + dapui.setup() + dap.listeners.after.event_initialized["dapui_config"] = function() + dapui.open() + end + dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() + end + dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() + end + end, +} diff --git a/lua/plugins/lsp/mason.lua b/lua/plugins/lsp/mason.lua index a9e1f20..66dcdbc 100644 --- a/lua/plugins/lsp/mason.lua +++ b/lua/plugins/lsp/mason.lua @@ -25,6 +25,7 @@ return { "ruff", "isort", "mypy", + "debugpy", "prettier", "eslint_d", }, diff --git a/lua/plugins/python-debug.lua b/lua/plugins/python-debug.lua new file mode 100644 index 0000000..4d90f1f --- /dev/null +++ b/lua/plugins/python-debug.lua @@ -0,0 +1,24 @@ +return { + "mfussenegger/nvim-dap-python", + ft = "python", + dependencies = { + "mfussenegger/nvim-dap", + "rcarriga/nvim-dap-ui", + "nvim-neotest/nvim-nio", + }, + keys = { + { "db", "DapToggleBreakpoint", desc = "Toggle Breakpoint" }, + { "dc", "lua require('dap').continue()", desc = "Continue Debugging" }, + { "dm", "lua require('dap-python').test_method()", desc = "Debug Closest Method" }, + }, + config = function(_, opts) + local path = "~/.local/share/nvim/mason/packages/debugpy/venv/bin/python" + require("dap-python").setup(path) + + -- Key mappings + vim.keymap.set("n", "db", "DapToggleBreakpoint", { desc = "Toggle Breakpoint" }) + vim.keymap.set("n", "dc", "lua require('dap').continue()", { desc = "Continue Debugging" }) + vim.keymap.set("n", "dm", "lua require('dap-python').test_method()", { desc = "Debug Closest Method" }) + end, +} +