From bb1e8a50ccf9c163499bd704245ef0368f231c55 Mon Sep 17 00:00:00 2001 From: "Christoph J. Scherr" Date: Thu, 21 Sep 2023 17:30:16 +0200 Subject: [PATCH] dbg shit but does something --- init.lua | 3 +- lua/plex/plugins/extras/lang/cpp.lua | 86 ++++++++++++--------------- lua/plex/plugins/extras/lang/rust.lua | 42 ------------- 3 files changed, 39 insertions(+), 92 deletions(-) delete mode 100644 lua/plex/plugins/extras/lang/rust.lua diff --git a/init.lua b/init.lua index 7d76f98..e0efbb4 100644 --- a/init.lua +++ b/init.lua @@ -15,8 +15,7 @@ require('lazy').setup(vim.tbl_extend('keep', config.user_lazy_opts(), { { import = 'plex.plugins.extras.editor' }, { import = 'plex.plugins.extras.org' }, { import = 'plex.plugins.extras.lang.go' }, - { import = 'plex.plugins.extras.lang.cpp' }, - { import = 'plex.plugins.extras.lang.rust' }, + { import = 'plex.plugins.extras.lang.cpp' }, -- also does C and rust { import = 'plex.plugins.extras.lang.json' }, { import = 'plex.plugins.extras.lang.python' }, { import = 'plex.plugins.extras.lang.yaml' }, diff --git a/lua/plex/plugins/extras/lang/cpp.lua b/lua/plex/plugins/extras/lang/cpp.lua index 33cc8be..c77cc1d 100644 --- a/lua/plex/plugins/extras/lang/cpp.lua +++ b/lua/plex/plugins/extras/lang/cpp.lua @@ -1,7 +1,7 @@ return { { 'mfussenegger/nvim-dap', - optional = true, + -- optional = true, dependencies = { 'mfussenegger/nvim-dap-python', }, @@ -10,65 +10,55 @@ return { -- { 'dPt', function() require('dap-python').test_method() end, desc = 'Debug Method' }, -- { 'dPc', function() require('dap-python').test_class() end, desc = 'Debug Class' }, -- }, - config = function() + opts = function() local dap = require('dap') - dap.adapters.lldb = { + dap.adapters.cppdbg = { + id = 'cppdbg', type = 'executable', - command = '/usr/bin/lldb-vscode', -- adjust as needed, must be absolute path - name = 'lldb' - } - dap.configurations.c= { - { - name = 'Launch', - type = 'lldb', - request = 'launch', - program = function() - return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - end, - cwd = '${workspaceFolder}', - stopOnEntry = false, - args = {}, - - -- 💀 - -- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting: - -- - -- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope - -- - -- Otherwise you might get the following error: - -- - -- Error on launch: Failed to attach to the target process - -- - -- But you should be aware of the implications: - -- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html - -- runInTerminal = false, - }, + command = '/home/cscherr/.local/share/nvim/nvim-dap/debuggers/cpptools/extension/debugAdapters/bin/OpenDebugAD7', } dap.configurations.cpp = { { - name = 'Launch', - type = 'lldb', - request = 'launch', + name = "Launch file", + type = "cppdbg", + request = "launch", program = function() return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') end, cwd = '${workspaceFolder}', - stopOnEntry = false, - args = {}, + stopAtEntry = true, + setupCommands = { + { + text = '-enable-pretty-printing', + description = 'enable pretty printing', + ignoreFailures = false + }, + }, + + }, + { + name = 'Attach to gdbserver :1234', + type = 'cppdbg', + request = 'launch', + MIMode = 'gdb', + miDebuggerServerAddress = 'localhost:1234', + miDebuggerPath = '/usr/bin/gdb', + cwd = '${workspaceFolder}', + program = function() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') + end, + setupCommands = { + { + text = '-enable-pretty-printing', + description = 'enable pretty printing', + ignoreFailures = false + }, + }, - -- 💀 - -- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting: - -- - -- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope - -- - -- Otherwise you might get the following error: - -- - -- Error on launch: Failed to attach to the target process - -- - -- But you should be aware of the implications: - -- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html - -- runInTerminal = false, }, } + dap.configurations.c = dap.configurations.cpp + dap.configurations.rust = dap.configurations.cpp end, }, } diff --git a/lua/plex/plugins/extras/lang/rust.lua b/lua/plex/plugins/extras/lang/rust.lua deleted file mode 100644 index d3cb0f9..0000000 --- a/lua/plex/plugins/extras/lang/rust.lua +++ /dev/null @@ -1,42 +0,0 @@ -return { - { - 'mfussenegger/nvim-dap', - optional = true, - dependencies = { - 'mfussenegger/nvim-dap-python', - }, - -- stylua: ignore - -- keys = { - -- { 'dPt', function() require('dap-python').test_method() end, desc = 'Debug Method' }, - -- { 'dPc', function() require('dap-python').test_class() end, desc = 'Debug Class' }, - -- }, - config = function() - local dap = require('dap') - dap.configurations.rust = { - { - -- ... the previous config goes here ..., - initCommands = function() - -- Find out where to look for the pretty printer Python module - local rustc_sysroot = vim.fn.trim(vim.fn.system('rustc --print sysroot')) - - local script_import = 'command script import "' .. rustc_sysroot .. '/lib/rustlib/etc/lldb_lookup.py"' - local commands_file = rustc_sysroot .. '/lib/rustlib/etc/lldb_commands' - - local commands = {} - local file = io.open(commands_file, 'r') - if file then - for line in file:lines() do - table.insert(commands, line) - end - file:close() - end - table.insert(commands, 1, script_import) - - return commands - end, - -- ..., - } - } - end, - }, -}