return { "mfussenegger/nvim-dap", lazy = true, dependencies = { "rcarriga/nvim-dap-ui", "nvim-neotest/nvim-nio", "theHamsta/nvim-dap-virtual-text", }, keys = { { "db", function() require("dap").toggle_breakpoint() end, }, { "dc", function() require("dap").continue() end, }, }, config = function() local dap = require("dap") require("dapui").setup() dap.adapters["pwa-node"] = { type = "server", host = "localhost", port = "${port}", executable = { command = "js-debug-adapter", args = { "${port}", }, }, } for _, language in ipairs({ "typescript", "javascript" }) do dap.configurations[language] = { { type = "pwa-node", request = "launch", name = "Launch file", program = "${file}", cwd = "${workspaceFolder}", }, { type = "pwa-node", request = "attach", name = "Attach to process ID", processId = require("dap.utils").pick_process, cwd = "${workspaceFolder}", }, } end -- require("dap").configurations.typescript = { -- type = "pwa-node", -- request = "launch", -- name = "Launch file", -- program = "${file}", -- cwd = "${workspaceFolder}", -- } -- require("dap").configurations.javascript = { -- type = "pwa-node", -- request = "launch", -- name = "Launch file", -- program = "${file}", -- cwd = "${workspaceFolder}", -- } end, }