return { -- https://github.com/mfussenegger/nvim-dap-python 'mfussenegger/nvim-dap-python', ft = 'python', dependencies = { -- https://github.com/mfussenegger/nvim-dap 'mfussenegger/nvim-dap', }, config = function() -- Update the path passed to setup to point to your system or virtual env python binary require('dap-python').setup '/Library/Frameworks/Python.framework/Versions/3.12/bin/python3' vim.keymap.set('n', 'bb', "lua require'dap'.toggle_breakpoint()") vim.keymap.set('n', 'bc', "lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))") vim.keymap.set('n', 'bl', "lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))") vim.keymap.set('n', 'br', "lua require'dap'.clear_breakpoints()") vim.keymap.set('n', 'ba', 'Telescope dap list_breakpoints') vim.keymap.set('n', 'dc', "lua require'dap'.continue()") vim.keymap.set('n', 'dj', "lua require'dap'.step_over()") vim.keymap.set('n', 'dk', "lua require'dap'.step_into()") vim.keymap.set('n', 'do', "lua require'dap'.step_out()") vim.keymap.set('n', 'dd', function() require('dap').disconnect() require('dapui').close() end) vim.keymap.set('n', 'dt', function() require('dap').terminate() require('dapui').close() end) vim.keymap.set('n', 'dr', "lua require'dap'.repl.toggle()") vim.keymap.set('n', 'dl', "lua require'dap'.run_last()") vim.keymap.set('n', 'di', function() require('dap.ui.widgets').hover() end) vim.keymap.set('n', 'd?', function() local widgets = require 'dap.ui.widgets' widgets.centered_float(widgets.scopes) end) vim.keymap.set('n', 'df', 'Telescope dap frames') vim.keymap.set('n', 'dh', 'Telescope dap commands') vim.keymap.set('n', 'de', function() require('telescope.builtin').diagnostics { default_text = ':E:' } end) end, }