diff --git a/lua/custom/dap/adapters/firefox.lua b/lua/custom/dap/adapters/firefox.lua new file mode 100644 index 00000000..d310545b --- /dev/null +++ b/lua/custom/dap/adapters/firefox.lua @@ -0,0 +1,10 @@ +local dap = require("dap") + +dap.adapters.firefox = { + type = "executable", + command = "node", + args = { + vim.fn.stdpath("data") .. + "/mason/packages/firefox-debug-adapter" .. + "/dist/adapter.bundle.js" }, +} diff --git a/lua/custom/dap/adapters/init.lua b/lua/custom/dap/adapters/init.lua index 303e3273..32993900 100644 --- a/lua/custom/dap/adapters/init.lua +++ b/lua/custom/dap/adapters/init.lua @@ -2,3 +2,4 @@ require('custom.dap.adapters.cpptools') require('custom.dap.adapters.codelldb') require('custom.dap.adapters.lldb-vscode') require('custom.dap.adapters.pwa-node') +require('custom.dap.adapters.firefox') diff --git a/lua/custom/dap/config/firefox.lua b/lua/custom/dap/config/firefox.lua new file mode 100644 index 00000000..f2d46ce0 --- /dev/null +++ b/lua/custom/dap/config/firefox.lua @@ -0,0 +1,12 @@ +local dap = require("dap") + +local launch = { + name = 'Debug index.html with Firefox', + type = 'firefox', + request = 'launch', + reAttach = true, + file = "${workspaceFolder}/index.html", +} + +table.insert(dap.configurations.javascript, launch) +table.insert(dap.configurations.typescript, launch) diff --git a/lua/custom/dap/config/init.lua b/lua/custom/dap/config/init.lua index 9cfe92df..217771a9 100644 --- a/lua/custom/dap/config/init.lua +++ b/lua/custom/dap/config/init.lua @@ -7,3 +7,4 @@ dap_vscode.load_launchjs(nil, { }) require('custom.dap.config.pwa-node') +require('custom.dap.config.firefox') diff --git a/lua/custom/dap/config/pwa-node.lua b/lua/custom/dap/config/pwa-node.lua index f941b869..d1a3cead 100644 --- a/lua/custom/dap/config/pwa-node.lua +++ b/lua/custom/dap/config/pwa-node.lua @@ -4,17 +4,19 @@ local dap_utils = require("dap.utils") local launch = { type = "pwa-node", request = "launch", - name = "Launch file", + name = "(pwa-node) Launch file", program = "${file}", cwd = "${workspaceFolder}", } local attach = { type = "pwa-node", request = "attach", - name = "Attach", + name = "(pwa-node) Attach", processId = dap_utils.pick_process, cwd = "${workspaceFolder}", } -dap.configurations.javascript = { launch, attach } -dap.configurations.typescript = { launch, attach } +table.insert(dap.configurations.javascript, launch) +table.insert(dap.configurations.javascript, attach) +table.insert(dap.configurations.typescript, launch) +table.insert(dap.configurations.typescript, attach)