68 lines
2.6 KiB
Lua
68 lines
2.6 KiB
Lua
--[[
|
|
DEBUGGING.LUA
|
|
nvim-dap for Python and JavaScript/TypeScript debugging
|
|
Requirements:
|
|
Python: pip install debugpy
|
|
JS/TS: Build vscode-js-debug manually (see below)
|
|
]]
|
|
|
|
return {
|
|
{ "mfussenegger/nvim-dap" },
|
|
{ "nvim-neotest/nvim-nio" },
|
|
{
|
|
"rcarriga/nvim-dap-ui",
|
|
dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
|
|
config = function()
|
|
local dap, dapui = require("dap"), require("dapui")
|
|
dapui.setup()
|
|
dap.listeners.after.event_initialized["dapui_config"] = dapui.open
|
|
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", "<S-F11>", dap.step_out, { desc = "Step out" })
|
|
vim.keymap.set("n", "<F9>", dap.toggle_breakpoint, { desc = "Breakpoint" })
|
|
vim.keymap.set("n", "<leader>du", dapui.toggle, { desc = "DAP UI" })
|
|
end,
|
|
},
|
|
{ "mfussenegger/nvim-dap-python", dependencies = { "mfussenegger/nvim-dap" } },
|
|
}
|
|
|
|
--[[
|
|
To enable JS/TS debugging:
|
|
|
|
1. Build vscode-js-debug:
|
|
git clone https://github.com/microsoft/vscode-js-debug
|
|
cd vscode-js-debug
|
|
npm install --legacy-peer-deps
|
|
npx gulp vsDebugServerBundle && mv dist out
|
|
|
|
2. Add this plugin (uncomment inside the return block above):
|
|
{
|
|
"mxsdev/nvim-dap-vscode-js",
|
|
dependencies = { "mfussenegger/nvim-dap" },
|
|
config = function()
|
|
require("dap-vscode-js").setup({
|
|
adapters = { "pwa-node", "pwa-chrome" },
|
|
})
|
|
for _, language in ipairs({ "typescript", "javascript" }) do
|
|
require("dap").configurations[language] = {
|
|
{
|
|
type = "pwa-node",
|
|
request = "launch",
|
|
name = "Launch file",
|
|
program = "${file}",
|
|
cwd = "${workspaceFolder}",
|
|
},
|
|
{
|
|
type = "pwa-node",
|
|
request = "attach",
|
|
name = "Attach to process",
|
|
processId = require("dap.utils").pick_process,
|
|
cwd = "${workspaceFolder}",
|
|
},
|
|
}
|
|
end
|
|
end,
|
|
},
|
|
--]]
|