1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- return {
- "mfussenegger/nvim-dap",
- dependencies = {
- "rcarriga/nvim-dap-ui",
- "nvim-neotest/nvim-nio",
- },
- config = function()
- local dap, dapui = require("dap"), require("dapui")
- require("dapui").setup()
- dap.listeners.before.attach.dapui_config = function()
- dapui.open()
- end
- dap.listeners.before.launch.dapui_config = function()
- dapui.open()
- end
- dap.listeners.before.event_terminated.dapui_config = function()
- dapui.close()
- end
- dap.listeners.before.event_exited.dapui_config = function()
- dapui.close()
- end
- dap.adapters.lldb = {
- type = "executable",
- command = "/usr/bin/lldb-vscode",
- name = "lldb",
- }
- dap.configurations.rust = {
- {
- 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 = {},
- 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,
- }
|