117 lines
2.8 KiB
Lua
117 lines
2.8 KiB
Lua
local dap = require("dap")
|
|
local dapui = require("dapui")
|
|
|
|
dap.adapters.php = {
|
|
type = "executable",
|
|
command = "node",
|
|
args = { "/path/to/vscode-php-debug/out/phpDebug.js" },
|
|
}
|
|
|
|
dap.configurations.php = {
|
|
{
|
|
type = "php",
|
|
request = "launch",
|
|
name = "Listen for Xdebug",
|
|
port = 9000,
|
|
},
|
|
}
|
|
|
|
dap.adapters.bashdb = {
|
|
type = "executable",
|
|
command = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/bash-debug-adapter",
|
|
name = "bashdb",
|
|
}
|
|
|
|
dap.configurations.sh = {
|
|
{
|
|
type = "bashdb",
|
|
request = "launch",
|
|
name = "Launch file",
|
|
showDebugOutput = true,
|
|
pathBashdb = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir/bashdb",
|
|
pathBashdbLib = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir",
|
|
trace = true,
|
|
file = "${file}",
|
|
program = "${file}",
|
|
cwd = "${workspaceFolder}",
|
|
pathCat = "cat",
|
|
pathBash = "/bin/bash",
|
|
pathMkfifo = "mkfifo",
|
|
pathPkill = "pkill",
|
|
args = {},
|
|
env = {},
|
|
terminalKind = "integrated",
|
|
},
|
|
}
|
|
|
|
dap.adapters.python = {
|
|
type = "executable",
|
|
-- command = "path/to/virtualenvs/debugpy/bin/python",
|
|
command = "python",
|
|
args = { "-m", "debugpy.adapter" },
|
|
}
|
|
|
|
dap.configurations.python = {
|
|
{
|
|
-- The first three options are required by nvim-dap
|
|
type = "python", -- the type here established the link to the adapter definition: `dap.adapters.python`
|
|
request = "launch",
|
|
name = "Launch file",
|
|
},
|
|
}
|
|
|
|
dapui.setup()
|
|
|
|
dap.listeners.after.event_initialized["dapui_config"] = function()
|
|
dapui.open()
|
|
end
|
|
dap.listeners.before.event_terminated["dapui_config"] = function()
|
|
dapui.close()
|
|
end
|
|
dap.listeners.before.event_exited["dapui_config"] = function()
|
|
dapui.close()
|
|
end
|
|
|
|
|
|
vim.keymap.set("n", "<F5>", function()
|
|
require("dap").continue()
|
|
end)
|
|
vim.keymap.set("n", "<F10>", function()
|
|
require("dap").step_over()
|
|
end)
|
|
vim.keymap.set("n", "<F11>", function()
|
|
require("dap").step_into()
|
|
end)
|
|
vim.keymap.set("n", "<F12>", function()
|
|
require("dap").step_out()
|
|
end)
|
|
vim.keymap.set("n", "<Leader>b", function()
|
|
require("dap").toggle_breakpoint()
|
|
end)
|
|
vim.keymap.set("n", "<Leader>B", function()
|
|
require("dap").set_breakpoint()
|
|
end)
|
|
vim.keymap.set("n", "<Leader>lp", function()
|
|
require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
|
|
end)
|
|
vim.keymap.set("n", "<Leader>dr", function()
|
|
require("dap").repl.open()
|
|
end)
|
|
vim.keymap.set("n", "<Leader>dl", function()
|
|
require("dap").run_last()
|
|
end)
|
|
vim.keymap.set({ "n", "v" }, "<Leader>dh", function()
|
|
require("dap.ui.widgets").hover()
|
|
end)
|
|
vim.keymap.set({ "n", "v" }, "<Leader>dp", function()
|
|
require("dap.ui.widgets").preview()
|
|
end)
|
|
vim.keymap.set("n", "<Leader>df", function()
|
|
local widgets = require("dap.ui.widgets")
|
|
widgets.centered_float(widgets.frames)
|
|
end)
|
|
vim.keymap.set("n", "<Leader>ds", function()
|
|
local widgets = require("dap.ui.widgets")
|
|
widgets.centered_float(widgets.scopes)
|
|
end)
|