From 446d2716e7bb83e58fb516ec27e5c7750069e98c Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Fri, 2 May 2025 16:05:47 +0300 Subject: =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=88=D0=B5=D0=BB=20=D0=BD?= =?UTF-8?q?=D0=B0=20lazy=20nvim,=20=D0=BD=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA=20=D0=B2=20=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nvim/lua/plugins/dap.lua | 158 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 151 insertions(+), 7 deletions(-) (limited to 'nvim/lua/plugins/dap.lua') diff --git a/nvim/lua/plugins/dap.lua b/nvim/lua/plugins/dap.lua index 7c7f773..0d104d9 100644 --- a/nvim/lua/plugins/dap.lua +++ b/nvim/lua/plugins/dap.lua @@ -1,9 +1,153 @@ -require("dap-go").setup() -require("dap").adapters.go = { - type = "server", - port = "${port}", - executable = { - command = "dlv", - args = { "dap", "-l", "127.0.0.1:${port}" }, +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 = { + { + "", + function() + require("dap").continue() + end, + silent = true, + }, + { + "", + function() + require("dap").step_over() + end, + silent = true, + }, + { + "", + function() + require("dap").step_into() + end, + silent = true, + }, + { + "", + function() + require("dap").step_out() + end, + silent = true, + }, + { + "dc", + function() + require("dap").continue() + end, + silent = true, + }, + { + "so", + function() + require("dap").step_over() + end, + silent = true, + }, + { + "si", + function() + require("dap").step_into() + end, + silent = true, + }, + { + "st", + function() + require("dap").step_out() + end, + silent = true, + }, + { + "b", + function() + require("dap").toggle_breakpoint() + end, + silent = true, + }, + { + "", + function() + require("dap").toggle_breakpoint() + end, + silent = true, + }, + { + "B", + function() + require("dap").set_breakpoint() + end, + silent = true, + }, + { + "lp", + function() + require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: ")) + end, + silent = true, + }, + { + "dr", + function() + require("dap").repl.open() + end, + silent = true, + }, + { + "dl", + function() + require("dap").run_last() + end, + silent = true, + }, }, } -- cgit v1.2.3