From f04af0b8a285eff16a8504b6f64d5817fd0e8721 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 24 Dec 2019 14:25:08 -0500 Subject: [PATCH] Bind 'SPC b u' to save current file as root --- core/autoload/files.el | 12 ++++++++++++ modules/config/default/+evil-bindings.el | 1 + 2 files changed, 13 insertions(+) diff --git a/core/autoload/files.el b/core/autoload/files.el index f7cd34741..0014280db 100644 --- a/core/autoload/files.el +++ b/core/autoload/files.el @@ -341,3 +341,15 @@ file if it exists, without confirmation." "Open the current file as root." (interactive) (find-alternate-file (doom--sudo-file buffer-file-name))) + +;;;###autoload +(defun doom/sudo-save-buffer () + "Save this file as root." + (interactive) + (let ((origin (current-buffer)) + (buffer (doom--sudo-file buffer-file-name))) + (unwind-protect + (with-current-buffer buffer + (save-buffer)) + (unless (eq origin buffer) + (kill-buffer buffer))))) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 1ccc59f81..0070605f3 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -340,6 +340,7 @@ :desc "Revert buffer" "r" #'revert-buffer :desc "Save buffer" "s" #'basic-save-buffer :desc "Save all buffers" "S" #'evil-write-all + :desc "Save buffer as root" "u" #'doom/sudo-save-buffer :desc "Pop up scratch buffer" "x" #'doom/open-scratch-buffer :desc "Switch to scratch buffer" "X" #'doom/switch-to-scratch-buffer :desc "Bury buffer" "z" #'bury-buffer