dap = require('dap') local opts = { noremap = true, silent = false } -- vim.keymap.set('n', '', dap.continue(), opts) vim.keymap.set('n', '', ":lua require('dap').continue()", opts) vim.keymap.set('n', '', ":lua require('dap').toggle_breakpoint()", opts) vim.keymap.set('n', '', ":lua require('dap').step_over()", opts) vim.keymap.set('n', '', ":lua require('dap').step_into()", opts) vim.keymap.set('n', '', ":lua require('dap').step_out()", opts) -- vim.keymap.set('n', '', dap.step_over(), opts) -- vim.keymap.set('n', '', dap.step_into(), opts) -- vim.keymap.set('n', '', dap.step_out(), opts) dap.adapters.python = { type = 'executable'; command = 'C:/Users/oli/AppData/Local/nvim-data/mason/packages/debugpy/venv/Scripts/python.exe'; args = { '-m', 'debugpy.adapter' }; } dap.configurations.python = { { -- The first three options are required by nvim-dap type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python` request = 'launch'; name = "Launch file"; -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options program = "${file}"; -- This configuration will launch the current file if used. pythonPath = function() -- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself. -- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within. -- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable. local cwd = vim.fn.getcwd() if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then return cwd .. '/venv/bin/python' elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then return cwd .. '/.venv/bin/python' else return '/usr/bin/python' end end; }, } -- require('dap-python').setup('C:/Users/oli/AppData/Local/nvim-data/mason/packages/debugpy/venv/Scripts/python.exe')