From 39247227126b92bbdefb4de014ae56917012e5f4 Mon Sep 17 00:00:00 2001 From: jimafisk Date: Fri, 31 May 2024 14:22:17 -0400 Subject: [PATCH] Confirm to Save/Discard/Resume changes (#15). --- plugin/bbye.vim | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugin/bbye.vim b/plugin/bbye.vim index 82d482a..d487bdd 100644 --- a/plugin/bbye.vim +++ b/plugin/bbye.vim @@ -10,8 +10,17 @@ function! s:bdelete(action, bang, buffer_name) endif if getbufvar(buffer, "&modified") && empty(a:bang) - let error = "E89: No write since last change for buffer " - return s:error(error . buffer . " (add ! to override)") + let confirm_result = confirm("Save changes?", "&Yes\n&No\n&Cancel", 3) + if confirm_result == 1 + write + echo "Save Changes" + elseif confirm_result == 2 + edit! + echo "Discard Changes" + else + echo "Resume Editing" + return + endif endif " If the buffer is set to delete and it contains changes, we can't switch