diff options
Diffstat (limited to 'lua/lvim/core/dap.lua')
| -rw-r--r-- | lua/lvim/core/dap.lua | 76 | 
1 files changed, 76 insertions, 0 deletions
| diff --git a/lua/lvim/core/dap.lua b/lua/lvim/core/dap.lua new file mode 100644 index 00000000..d9b59641 --- /dev/null +++ b/lua/lvim/core/dap.lua @@ -0,0 +1,76 @@ +local M = {} + +M.config = function() +  lvim.builtin.dap = { +    active = false, +    on_config_done = nil, +    breakpoint = { +      text = "", +      texthl = "LspDiagnosticsSignError", +      linehl = "", +      numhl = "", +    }, +    breakpoint_rejected = { +      text = "", +      texthl = "LspDiagnosticsSignHint", +      linehl = "", +      numhl = "", +    }, +    stopped = { +      text = "", +      texthl = "LspDiagnosticsSignInformation", +      linehl = "DiagnosticUnderlineInfo", +      numhl = "LspDiagnosticsSignInformation", +    }, +  } +end + +M.setup = function() +  local dap = require "dap" + +  vim.fn.sign_define("DapBreakpoint", lvim.builtin.dap.breakpoint) +  vim.fn.sign_define("DapBreakpointRejected", lvim.builtin.dap.breakpoint_rejected) +  vim.fn.sign_define("DapStopped", lvim.builtin.dap.stopped) + +  dap.defaults.fallback.terminal_win_cmd = "50vsplit new" + +  lvim.builtin.which_key.mappings["d"] = { +    name = "Debug", +    t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, +    b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, +    c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, +    C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, +    d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, +    g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, +    i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, +    o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, +    u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, +    p = { "<cmd>lua require'dap'.pause.toggle()<cr>", "Pause" }, +    r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, +    s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, +    q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, +  } + +  if lvim.builtin.dap.on_config_done then +    lvim.builtin.dap.on_config_done(dap) +  end +end + +-- TODO put this up there ^^^ call in ftplugin + +-- M.dap = function() +--   if lvim.plugin.dap.active then +--     local dap_install = require "dap-install" +--     dap_install.config("python_dbg", {}) +--   end +-- end +-- +-- M.dap = function() +--   -- gem install readapt ruby-debug-ide +--   if lvim.plugin.dap.active then +--     local dap_install = require "dap-install" +--     dap_install.config("ruby_vsc_dbg", {}) +--   end +-- end + +return M | 
