61 lines
2.3 KiB
Lua
61 lines
2.3 KiB
Lua
require("dap-vscode-js").setup({
|
|
-- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node"
|
|
-- debugger_path = "(runtimedir)/site/pack/packer/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 = { 'pwa-node', 'pwa-chrome', 'pwa-msedge', 'node-terminal', 'pwa-extensionHost' }, -- 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.
|
|
})
|
|
|
|
local dap = require('dap')
|
|
|
|
for _, language in ipairs({ "typescript", "javascript" }) do
|
|
dap.configurations[language] = {
|
|
{
|
|
type = "pwa-node",
|
|
request = "attach",
|
|
name = "Attach",
|
|
port = 9229,
|
|
cwd = "${workspaceFolder}",
|
|
},
|
|
}
|
|
end
|
|
|
|
dap.adapters.codelldb = {
|
|
type = 'server',
|
|
port = "${port}",
|
|
executable = {
|
|
command = '/usr/bin/codelldb',
|
|
args = {"--port", "${port}"},
|
|
}
|
|
}
|
|
|
|
dap.configurations.rust = {
|
|
{
|
|
name = "Rust debug",
|
|
type = "codelldb",
|
|
request = "launch",
|
|
program = function()
|
|
vim.fn.jobstart('cargo build')
|
|
-- cargo metadata --no-deps --format-version 1 | jq -r '.target_directory'
|
|
-- cargo metadata --no-deps --format-version 1 | jq -r '.packages[].targets[] | select( .kind | map(. == "bin") | any ) | .name'
|
|
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/target/debug/', 'file')
|
|
end,
|
|
cwd = '${workspaceFolder}',
|
|
stopOnEntry = true,
|
|
showDisassembly = "never",
|
|
},
|
|
}
|
|
|
|
local dapui = require('dapui')
|
|
dapui.setup()
|
|
require("nvim-dap-virtual-text").setup()
|
|
|
|
vim.keymap.set('n', '<Leader>du', dapui.toggle)
|
|
vim.keymap.set('n', '<Leader>b', dap.toggle_breakpoint)
|
|
vim.keymap.set('n', '<Leader>c', dap.continue)
|
|
vim.keymap.set('n', '<Leader>o', dap.step_over)
|
|
vim.keymap.set('n', '<Leader>i', dap.step_into)
|
|
vim.keymap.set('n', '<Leader>q', dap.terminate)
|