153 lines
3 KiB
Lua
153 lines
3 KiB
Lua
return {
|
|
"leoluz/nvim-dap-go",
|
|
dependencies = { "mfussenegger/nvim-dap" },
|
|
opts = true,
|
|
config = function()
|
|
local dap, dapui = require("dap"), require("dapui")
|
|
|
|
dap.adapters.go = {
|
|
type = "server",
|
|
port = "${port}",
|
|
executable = {
|
|
command = "dlv",
|
|
args = { "dap", "-l", "127.0.0.1:${port}" },
|
|
},
|
|
}
|
|
dap.listeners.before.attach.dapui_config = function()
|
|
dapui.open()
|
|
end
|
|
dap.listeners.before.launch.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.api.nvim_set_hl(0, "DapBreakpoint", { ctermbg = 0, fg = "#993939", bg = "#31353f" })
|
|
vim.api.nvim_set_hl(0, "DapLogPoint", { ctermbg = 0, fg = "#61afef", bg = "#31353f" })
|
|
vim.api.nvim_set_hl(0, "DapStopped", { ctermbg = 0, fg = "#98c379", bg = "#31353f" })
|
|
|
|
vim.fn.sign_define(
|
|
"DapBreakpoint",
|
|
{ text = "🐞", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
|
|
)
|
|
vim.fn.sign_define(
|
|
"DapBreakpointCondition",
|
|
{ text = "ﳁ", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
|
|
)
|
|
vim.fn.sign_define(
|
|
"DapBreakpointRejected",
|
|
{ text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
|
|
)
|
|
vim.fn.sign_define(
|
|
"DapLogPoint",
|
|
{ text = "", texthl = "DapLogPoint", linehl = "DapLogPoint", numhl = "DapLogPoint" }
|
|
)
|
|
vim.fn.sign_define(
|
|
"DapStopped",
|
|
{ text = "", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" }
|
|
)
|
|
end,
|
|
keys = {
|
|
{
|
|
"<F5>",
|
|
function()
|
|
require("dap").continue()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<F10>",
|
|
function()
|
|
require("dap").step_over()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<F11>",
|
|
function()
|
|
require("dap").step_into()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<F12>",
|
|
function()
|
|
require("dap").step_out()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<leader>dc",
|
|
function()
|
|
require("dap").continue()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<leader>so",
|
|
function()
|
|
require("dap").step_over()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<leader>si",
|
|
function()
|
|
require("dap").step_into()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<leader>st",
|
|
function()
|
|
require("dap").step_out()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<leader>b",
|
|
function()
|
|
require("dap").toggle_breakpoint()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<A-b>",
|
|
function()
|
|
require("dap").toggle_breakpoint()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<Leader>B",
|
|
function()
|
|
require("dap").set_breakpoint()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<Leader>lp",
|
|
function()
|
|
require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<Leader>dr",
|
|
function()
|
|
require("dap").repl.open()
|
|
end,
|
|
silent = true,
|
|
},
|
|
{
|
|
"<Leader>dl",
|
|
function()
|
|
require("dap").run_last()
|
|
end,
|
|
silent = true,
|
|
},
|
|
},
|
|
}
|