dap: add lldb for rust
This commit is contained in:
parent
148b8dd4ea
commit
90e655005c
1 changed files with 41 additions and 1 deletions
42
init.lua
42
init.lua
|
|
@ -558,7 +558,7 @@ vim.keymap.set("n", "<Leader>s", telescope.extensions.luasnip.luasnip)
|
|||
---- nvim-dap
|
||||
vim.g.dap_loaded = false
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = { "go" },
|
||||
pattern = { "go", "rust" },
|
||||
callback = function()
|
||||
vim.g.dap_loaded = true
|
||||
vim.cmd("packadd nvim-dap")
|
||||
|
|
@ -587,6 +587,46 @@ vim.api.nvim_create_autocmd({ "FileType" }, {
|
|||
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||
dapui.close()
|
||||
end
|
||||
|
||||
-- rust
|
||||
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,
|
||||
},
|
||||
}
|
||||
|
||||
-- nvim-dap-go
|
||||
require("dap-go").setup()
|
||||
end,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue