local dap = require("dap") -- dap.configurations.c = { -- { -- name = "Launch", -- type = "gdb", -- request = "launch", -- -- program = function() -- -- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') -- -- end, -- cwd = "${workspaceFolder}", -- }, -- } -- -- dap.configurations.cpp = { -- { -- name = "Launch file", -- type = "cppdbg", -- request = "launch", -- program = function() -- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') -- end, -- cwd = '${workspaceFolder}', -- stopAtEntry = true, -- } -- } dap.adapters.cppdbg = { id = 'cppdbg', type = 'executable', command = '/nix/store/gwags66qlqr6qmblwp0v6crkb6ca2qr1-vscode-extension-ms-vscode-cpptools-1.22.2/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7', cwd = "${workspaceFolder}", } dap.adapters.gdb = { type = "executable", command = "gdb", args = { "-i", "dap" }, -- console = 'externalTerminal', -- terminal_win_cmd = "tabnew", } dap.adapters.lldb = { type = 'executable', command = 'lldb-dap', -- adjust as needed, must be absolute path name = 'lldb' } dap.adapters.debugpy = function(cb, config) if config.request == 'attach' then ---@diagnostic disable-next-line: undefined-field local port = (config.connect or config).port ---@diagnostic disable-next-line: undefined-field local host = (config.connect or config).host or '127.0.0.1' cb({ type = 'server', port = assert(port, '`connect.port` is required for a python `attach` configuration'), host = host, options = { source_filetype = 'python', }, }) else cb({ type = 'executable', command = 'python', args = { '-m', 'debugpy.adapter' }, options = { source_filetype = 'python', }, }) end end require('dap.ext.vscode').load_launchjs("dap_config.json", { cppdbg = { 'c', 'cpp' }, lldb = { 'c', 'cpp' }, gdb = { 'c', 'cpp' }, debugpy = { 'python' } }) dap.set_log_level("TRACE") -- require("telescope").load_extension("dap") -- Interface Setup vim.fn.sign_define('DapBreakpoint', { text='', texthl='red'}) vim.fn.sign_define('DapBreakpointCondition', { text='', texthl='blue'}) vim.fn.sign_define('DapBreakpointRejected', { text='', texthl='orange'}) vim.fn.sign_define('DapStopped', { text='󰁕', texthl='green'}) vim.fn.sign_define('DapLogPoint', { text='.>', texthl='yellow', linehl='DapBreakpoint', numhl='DapBreakpoint' }) vim.api.nvim_command 'autocmd FileType dap-float nnoremap q close!'