aboutsummaryrefslogtreecommitdiffstats
path: root/lua/pi/dap/configs/rust.old
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2024-10-03 11:41:10 -0300
committerElvis Claros Castro <elvis@claros.ar>2024-10-03 11:41:10 -0300
commitf032fb9e2fadaaec6f71aaf45ed1d94128ea45cd (patch)
tree17bc2e9fe0a3614285b59c75ae801021d31e76df /lua/pi/dap/configs/rust.old
parentfa3e94e60b9edc7c3620f43e207b915eae84bab0 (diff)
downloadnvim-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.old57
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