diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2024-10-03 11:41:10 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2024-10-03 11:41:10 -0300 |
| commit | f032fb9e2fadaaec6f71aaf45ed1d94128ea45cd (patch) | |
| tree | 17bc2e9fe0a3614285b59c75ae801021d31e76df /lua/pi/dap/configs/rust.old | |
| parent | fa3e94e60b9edc7c3620f43e207b915eae84bab0 (diff) | |
| download | nvim-conf-f032fb9e2fadaaec6f71aaf45ed1d94128ea45cd.tar.gz nvim-conf-f032fb9e2fadaaec6f71aaf45ed1d94128ea45cd.zip | |
feat: add rust tools
Diffstat (limited to 'lua/pi/dap/configs/rust.old')
| -rw-r--r-- | lua/pi/dap/configs/rust.old | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/lua/pi/dap/configs/rust.old b/lua/pi/dap/configs/rust.old new file mode 100644 index 0000000..9ca976f --- /dev/null +++ b/lua/pi/dap/configs/rust.old @@ -0,0 +1,57 @@ +local dap = require("dap") + +local rust_adapter = nil +local rust_adapters = { "lldb-vscode", "codelldb" } +for _, adapter in pairs(rust_adapters) do + if vim.fn.executable(adapter) then + rust_adapter = adapter + end +end + +if rust_adapter ~= nil then + dap.adapters.lldb = { + type = "executable", + command = rust_adapter, + name = "lldb", + } + + dap.configurations.rust = { + { + name = "launch", + type = "lldb", + request = "launch", + program = function() + local dir = vim.fn.getcwd() + return dir .. "/target/debug/" .. vim.fs.basename(dir) + end, + cwd = "${workspaceFolder}", + stopOnEntry = false, + args = function() + local resp = vim.fn.input "Arguments: " + if resp == "" then + return {} + end + + return vim.fn.split(resp, " ") + end, + }, + { + name = "custom", + type = "lldb", + request = "launch", + program = function() + return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file") + end, + cwd = "${workspaceFolder}", + stopOnEntry = false, + args = function() + local resp = vim.fn.input "Arguments: " + if resp == "" then + return {} + end + + return vim.fn.split(resp, " ") + end, + }, + } +end |