better dap config, add dap-python

master
blob42 10 months ago
parent a56668d6ea
commit 51279f784d

@ -301,7 +301,7 @@ return {
-- dap
["mfussenegger/nvim-dap"] = { -- {{{
lock = true,
-- lock = true,
module = {"dap"},
setup = function()
require("core.utils").load_mappings "dap"
@ -312,6 +312,19 @@ return {
end
},
["mfussenegger/nvim-dap-python"] = {
after = {"nvim-dap"},
config = function()
-- expand share folder
venv_path = vim.fn.stdpath('data') .. '/mason/packages/debugpy/venv/bin/python'
require('dap-python').setup(venv_path)
end,
cond = function()
-- filetype is python
return vim.bo.filetype == "python"
end
},
["rcarriga/nvim-dap-ui"] = {
-- tag = "*",
lock = true,

@ -1,3 +1,8 @@
local present, dap = pcall(require, "dap")
if not present then
print("nvim-dap missing !")
return
end
local dapmode = require("spike.dap.dapmode")
local daputils = require('spike.dap.utils')
local dapui = require("dapui")
@ -26,19 +31,14 @@ M.signs = {
}
}
local function register_listeners()
local present, dap = pcall(require, "dap")
if not present then
print("nvim-dap missing !")
return
end
dap.listeners.before['event_initialized']['spike-dap'] = function(session, body)
local function register_listeners()
dap.listeners.before['event_initialized']['spike-dap'] = function(_, _)
dapmode.start()
dapui.open()
end
dap.listeners.after['event_terminated']['spike-dap'] = function(session, body)
dap.listeners.after['event_terminated']['spike-dap'] = function(_, _)
-- print("dap session ended")
dapmode.stop()
dapui.close()
@ -57,13 +57,33 @@ local function set_signs()
end
end
local function dap_setup()
-- set default externalTerminal
dap.defaults.fallback.external_terminal = {
command = "/usr/bin/alacritty",
args = {
"--class",
"dap",
"-o",
"window.dimensions.lines=30",
"-o",
"window.dimensions.columns=100",
"-e"
}
}
end
function M.prepare_launch()
end
function M.setup()
dap_setup()
dapmode.setup({})
register_listeners()
set_signs()
daputils.load_launch_json()
end

@ -32,4 +32,17 @@ M.init_breakpoints = function()
end
end
--- Load the DAP launch.json file
--- If the file does not exist, create it at the default location.
M.load_launch_json = function()
local Path = require("plenary.path")
local fpath = Path:new(vim.fn.getcwd() .. "/.vscode/launch.json")
-- if path does not exist print message
if not fpath:exists() then
vim.notify('launch.json not found at ' .. fpath.filename)
return
end
require("dap.ext.vscode").load_launchjs()
end
return M

Loading…
Cancel
Save