refactor: debugging: split into files for UI and language specific

This commit is contained in:
Mathias Schneider
2026-05-28 16:17:15 +02:00
parent c9a24374a8
commit 8f36ce722e
4 changed files with 221 additions and 210 deletions
@@ -0,0 +1,72 @@
---@diagnostic disable: missing-fields
return {
{
"mxsdev/nvim-dap-vscode-js",
dependencies = {
"mfussenegger/nvim-dap",
{
"microsoft/vscode-js-debug",
version = "1.x",
build = "npm ci --legacy-peer-deps && npx gulp vsDebugServerBundle && mv dist out",
},
},
config = function()
local dap = require("dap")
require("dap-vscode-js").setup({
debugger_path = vim.fn.stdpath("data") .. "/lazy/vscode-js-debug",
adapters = { "pwa-node", "pwa-chrome", "pwa-msedge", "node-terminal", "pwa-extensionHost" },
})
for _, language in ipairs({ "typescript", "javascript", "typescriptreact", "javascriptreact", "vue" }) do
dap.configurations[language] = {
{
type = "pwa-node",
request = "launch",
name = "Launch file",
program = "${file}",
cwd = "${workspaceFolder}",
},
{
type = "pwa-node",
request = "attach",
name = "Attach",
processId = require("dap.utils").pick_process,
cwd = "${workspaceFolder}",
},
{
type = "pwa-node",
request = "launch",
name = "Debug Jest Tests",
runtimeExecutable = "node",
runtimeArgs = {
"./node_modules/jest/bin/jest.js",
"--runInBand",
},
rootPath = "${workspaceFolder}",
cwd = "${workspaceFolder}",
console = "integratedTerminal",
internalConsoleOptions = "neverOpen",
},
{
type = "pwa-chrome",
request = "launch",
name = "Launch Chrome",
url = "http://localhost:3000",
webRoot = "${workspaceFolder}",
},
{
type = "pwa-chrome",
request = "launch",
name = "Launch Chrome (Vue dev server)",
url = function()
local port = vim.fn.input("Port (default 8080): ", "8080")
return "http://localhost:" .. port
end,
webRoot = "${workspaceFolder}",
sourceMaps = true,
},
}
end
end,
},
}