From a0c1fb3acdff109a81b5f57e566b88224f4936d2 Mon Sep 17 00:00:00 2001 From: alemi Date: Sun, 15 Sep 2024 12:10:19 +0200 Subject: [PATCH] fix: confirm before deleting buffers/workspaces --- lua/codemp/neo-tree/commands.lua | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/lua/codemp/neo-tree/commands.lua b/lua/codemp/neo-tree/commands.lua index 14b8f87..cddea8e 100644 --- a/lua/codemp/neo-tree/commands.lua +++ b/lua/codemp/neo-tree/commands.lua @@ -76,22 +76,28 @@ M.delete = function(state, path, extra) if selected.type == "root" and vim.startswith(selected.name, "#") then vim.ui.input({ prompt = "disconnect from workspace?" }, function (input) if input == nil then return end - if input ~= "y" then return end + if not vim.startswith("y", string.lower(input)) then return end ws_manager.leave() manager.refresh("codemp") end) elseif selected.type == "buffer" then if session.workspace == nil then error("join a workspace first") end - session.workspace:delete_buffer(selected.name):await() - print("deleted buffer " .. selected.name) - manager.refresh("codemp") + vim.ui.input({ prompt = "delete buffer '" .. selected.name .. "'?" }, function (input) + if input == nil then return end + if not vim.startswith("y", string.lower(input)) then return end + session.workspace:delete_buffer(selected.name):await() + print("deleted buffer " .. selected.name) + manager.refresh("codemp") + end) elseif selected.type == "workspace" then if session.client == nil then error("connect to server first") end - session.client:delete_workspace(selected.name):await() - print("deleted workspace " .. selected.name) - manager.refresh("codemp") - else - print("/!\\ can only delete buffers and workspaces") + vim.ui.input({ prompt = "delete buffer '" .. selected.name .. "'?" }, function (input) + if input == nil then return end + if not vim.startswith("y", string.lower(input)) then return end + session.client:delete_workspace(selected.name):await() + print("deleted workspace " .. selected.name) + manager.refresh("codemp") + end) end end