summaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua')
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua57
1 files changed, 4 insertions, 53 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua b/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
index 4cae3db..98cdcc8 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
@@ -1,4 +1,3 @@
-local Job = require("plenary.job")
local utils = require("tobyvin.utils")
local lsp = require("tobyvin.lsp")
local M = {
@@ -15,53 +14,8 @@ M.dap_adapter = function()
vim.notify("Failed to find codelldb adapter")
end
-M.cargo_subcmd = function(subcmd)
- vim.ui.input({ prompt = string.format("cargo %s", subcmd) }, function(input)
- if input == nil then
- return
- end
- local args = { subcmd }
- for _, arg in ipairs(vim.split(input, " ", { trimempty = true })) do
- table.insert(args, arg)
- end
-
- local cmd = "cargo"
- local notification
- local output = ""
- local length = 0
- local win, height
- local on_data = function(_, data)
- output = output .. data .. "\n"
- notification = vim.notify(vim.trim(output), vim.log.levels.INFO, {
- title = string.format("[%s] %s", cmd, subcmd),
- replace = notification,
- on_open = function(win_)
- win, height = win_, vim.api.nvim_win_get_height(win_)
- end,
- })
- if height then
- vim.api.nvim_win_set_height(win, height + length)
- end
- length = length + 1
- end
-
- local job = Job:new({
- command = "cargo",
- args = args,
- on_stdout = vim.schedule_wrap(on_data),
- on_stderr = vim.schedule_wrap(on_data),
- })
-
- job:start()
- end)
-end
-
-M.cargo_add = function()
- M.cargo_subcmd("add")
-end
-
-M.cargo_rm = function()
- M.cargo_subcmd("rm")
+M.cargo_cmd = function()
+ utils.run_cmd_with_args("cargo")
end
M.setup = function()
@@ -102,11 +56,8 @@ M.setup = function()
local nmap_run = utils.create_map_group("n", "<leader>r", { desc = "Run", buffer = bufnr })
nmap_run("r", rust_tools.runnables.runnables, { desc = "Runnables" })
-
- local nmap_run_cargo = utils.create_map_group("n", "<leader>rc", { desc = "Cargo", buffer = bufnr })
- nmap_run_cargo("o", rust_tools.open_cargo_toml.open_cargo_toml, { desc = "Open Cargo.toml" })
- nmap_run_cargo("a", M.cargo_add, { desc = "Add Crate" })
- nmap_run_cargo("r", M.cargo_rm, { desc = "Remove Crate" })
+ nmap_run("c", M.cargo_cmd, { desc = "Command" })
+ nmap_run("o", rust_tools.open_cargo_toml.open_cargo_toml, { desc = "Open Cargo.toml" })
end,
}),
dap = M.dap_adapter(),