diff options
Diffstat (limited to 'nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua')
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua | 57 |
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(), |