Avoid superfluous buffers when sudo-editing
When invoking 'doom/sudo-this-file', do not keep the old buffer around, since it is most likely no longer needed.
This commit is contained in:
parent
7a810d53a0
commit
12fcd3857d
1 changed files with 14 additions and 14 deletions
|
@ -313,26 +313,26 @@ file if it exists, without confirmation."
|
|||
(`aborted (message "Aborted"))
|
||||
(_ t)))
|
||||
|
||||
(defun doom--sudo-file (file)
|
||||
(let ((host (or (file-remote-p file 'host) "localhost")))
|
||||
(concat "/" (when (file-remote-p file)
|
||||
(concat (file-remote-p file 'method) ":"
|
||||
(if-let (user (file-remote-p file 'user))
|
||||
(concat user "@" host)
|
||||
host)
|
||||
"|"))
|
||||
"sudo:root@" host
|
||||
":" (or (file-remote-p file 'localname)
|
||||
file))))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/sudo-find-file (file)
|
||||
"Open FILE as root."
|
||||
(interactive "FOpen file as root: ")
|
||||
(let* ((host (or (file-remote-p file 'host) "localhost"))
|
||||
(f (concat "/" (when (file-remote-p file)
|
||||
(concat (file-remote-p file 'method) ":"
|
||||
(if-let (user (file-remote-p file 'user))
|
||||
(concat user "@" host)
|
||||
host)
|
||||
"|"))
|
||||
"sudo:root@" host
|
||||
":" (or (file-remote-p file 'localname)
|
||||
file))))
|
||||
(if (and buffer-file-name (equal file (file-truename buffer-file-name)))
|
||||
(find-alternate-file f)
|
||||
(find-file f))))
|
||||
(find-file (doom--sudo-file file)))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/sudo-this-file ()
|
||||
"Open the current file as root."
|
||||
(interactive)
|
||||
(doom/sudo-find-file (file-truename buffer-file-name)))
|
||||
(find-alternate-file (doom--sudo-file buffer-file-name)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue