105 lines
3.1 KiB
Lua
Executable File
105 lines
3.1 KiB
Lua
Executable File
local dap = require('dap')
|
|
|
|
require("dap-vscode-js").setup({
|
|
-- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node"
|
|
debugger_path = "/.local/share/lunarvim/site/pack/lazy/opt/vscode-js-debug", -- Path to vscode-js-debug installation.
|
|
debugger_cmd = { "js-debug-adapter" }, -- Command to use to launch the debug server. Takes precedence over `node_path` and `debugger_path`.
|
|
adapters = { 'node-terminal' }, -- which adapters to register in nvim-dap
|
|
-- log_file_path = "(stdpath cache)/dap_vscode_js.log", -- Path for file logging
|
|
-- log_file_level = false, -- Logging level for output to file. Set to false to disable file logging.
|
|
-- log_console_level = vim.log.levels.ERROR -- Logging level for output to console. Set to false to disable console output.
|
|
})
|
|
|
|
dap.configurations.cpp = {
|
|
{
|
|
name = "Launch file",
|
|
type = "codelldb",
|
|
request = "launch",
|
|
program = function()
|
|
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
|
end,
|
|
cwd = '${workspaceFolder}',
|
|
stopOnEntry = false,
|
|
},
|
|
}
|
|
|
|
dap.configurations.c = dap.configurations.cpp
|
|
dap.configurations.rust = dap.configurations.cpp
|
|
|
|
dap.adapters["pwa-node"] = {
|
|
type = "server",
|
|
host = "localhost",
|
|
port = "${port}",
|
|
executable = {
|
|
command = "node",
|
|
-- 💀 make sure to update this path to point to your installation
|
|
args = {os.getenv("HOME") .. "/.local/share/lvim/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js", "${port}"},
|
|
}
|
|
}
|
|
|
|
dap.configurations.javascript = {
|
|
{
|
|
type = "pwa-node",
|
|
request = "launch",
|
|
name = "Launch file",
|
|
program = "${file}",
|
|
cwd = "${workspaceFolder}",
|
|
},
|
|
}
|
|
|
|
dap.adapters.chrome = {
|
|
type = "executable",
|
|
command = "node",
|
|
args = {os.getenv("HOME") .. "/.local/share/lvim/mason/packages/chrome-debug-adapter/out/src/chromeDebug.js"},
|
|
}
|
|
|
|
dap.adapters.firefox = {
|
|
type = 'executable',
|
|
command = 'node',
|
|
args = {os.getenv('HOME') .. '/.local/share/lvim/mason/packages/firefox-debug-adapter/dist/adapter.bundle.js'},
|
|
}
|
|
|
|
dap.configurations.typescriptreact = { -- change to typescript if needed
|
|
{
|
|
name = 'Next.js: debug server-side',
|
|
type = "pwa-node",
|
|
request = "launch",
|
|
runtimeExecutable = "npm",
|
|
runtimeArgs = { "run", "dev" },
|
|
cwd = "${workspaceFolder}",
|
|
},
|
|
{
|
|
name = "Next.js: debug client-side with chrome",
|
|
type = "chrome",
|
|
request = "launch",
|
|
url = "http://localhost:3000"
|
|
},
|
|
{
|
|
name = "Next.js: debug client-side with firefox",
|
|
type = "firefox",
|
|
request = "launch",
|
|
url = 'http://localhost:3000',
|
|
webRoot = '${workspaceFolder}',
|
|
firefoxExecutable = '/usr/bin/waterfox',
|
|
pathMappings = {
|
|
{
|
|
url = "webpack://_n_e/",
|
|
path = "${workspaceFolder}/"
|
|
}
|
|
},
|
|
},
|
|
}
|
|
|
|
dap.configurations.javascriptreact = dap.configurations.typescriptreact;
|
|
|
|
require("dapui").setup()
|
|
|
|
local dap, dapui = require("dap"), require("dapui")
|
|
|
|
dap.listeners.after.event_initialized["dapui_config"] = function()
|
|
dapui.open({})
|
|
end
|
|
|
|
vim.keymap.set('n', '<leader>ui', require 'dapui'.toggle)
|
|
|