Finally got dap all configured, works with c/c++ and godot (gdscript).
Need to figure out a watch window or something I have frame and sessions window but those are not that usful (might also need hover and memory window)
This commit is contained in:
parent
1738040c89
commit
3c3890f786
47
init.lua
47
init.lua
|
|
@ -102,6 +102,12 @@ dap.adapters.godot = {
|
|||
port = 6006,
|
||||
}
|
||||
|
||||
dap.adapters.gdb = {
|
||||
type = "executable",
|
||||
command = "gdb",
|
||||
args = { "--interpreter=dap", "--eval-command", "set print pretty on" }
|
||||
}
|
||||
|
||||
dap.configurations.gdscript = {
|
||||
{
|
||||
type = "godot",
|
||||
|
|
@ -111,3 +117,44 @@ dap.configurations.gdscript = {
|
|||
scene = "main"
|
||||
}
|
||||
}
|
||||
|
||||
dap.configurations.c = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "gdb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
args = {}, -- provide arguments if needed
|
||||
cwd = "${workspaceFolder}",
|
||||
stopAtBeginningOfMainSubprogram = false,
|
||||
},
|
||||
{
|
||||
name = "Select and attach to process",
|
||||
type = "gdb",
|
||||
request = "attach",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
pid = function()
|
||||
local name = vim.fn.input('Executable name (filter): ')
|
||||
return require("dap.utils").pick_process({ filter = name })
|
||||
end,
|
||||
cwd = '${workspaceFolder}'
|
||||
},
|
||||
{
|
||||
name = 'Attach to gdbserver :1234',
|
||||
type = 'gdb',
|
||||
request = 'attach',
|
||||
target = 'localhost:1234',
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
cwd = '${workspaceFolder}'
|
||||
}
|
||||
}
|
||||
|
||||
dap.configurations.cpp = dap.configurations.c
|
||||
-- TODO: could do rust, zig, odin, jai (?)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ vim.keymap.set('n', '<leader>ss', '<cmd>Telescope spell_suggest<cr>', opts)
|
|||
vim.keymap.set('n', '<leader>t', '<cmd>Telescope<cr>', opts)
|
||||
|
||||
local dap = require('dap')
|
||||
local widgets = require('dap.ui.widgets')
|
||||
local frame_bar = widgets.sidebar(widgets.frames)
|
||||
local session_bar = widgets.sidebar(widgets.sessions)
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
client.server_capabilities.semanticTokensProvider = nil
|
||||
|
|
@ -44,6 +47,8 @@ local on_attach = function(client, bufnr)
|
|||
vim.keymap.set('n', '<F11>', dap.step_into, bufopts)
|
||||
vim.keymap.set('n', '<F12>', dap.step_out, bufopts)
|
||||
--TODO: dap.ui.widgets, widgets.sidebar
|
||||
vim.keymap.set('n', '<leader>df', frame_bar.toggle, bufopts)
|
||||
vim.keymap.set('n', '<leader>ds', session_bar.toggle, bufopts)
|
||||
end
|
||||
|
||||
local godot_port = os.getenv 'GDScript_Port' or '6005'
|
||||
|
|
|
|||
Loading…
Reference in New Issue