Enhance sudo editing experience

This commit is contained in:
Bozhidar Batsov 2013-04-21 10:01:43 +03:00
parent 74100057b3
commit 5ff6ae1339

View file

@ -250,9 +250,21 @@ there's a region, all lines that region covers will be duplicated."
(byte-recompile-directory prelude-dir 0)) (byte-recompile-directory prelude-dir 0))
(defun prelude-sudo-edit (&optional arg) (defun prelude-sudo-edit (&optional arg)
(interactive "p") "Edit currently visited file as root.
With a prefix ARG prompt for a file to visit.
Will also prompt for a file to visit if current
buffer is not visiting a file."
(interactive "P")
(if (or arg (not buffer-file-name)) (if (or arg (not buffer-file-name))
(find-file (concat "/sudo:root@localhost:" (ido-read-file-name "File: "))) (find-file (concat "/sudo:root@localhost:"
(ido-read-file-name "Find file(as root): ")))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(defadvice ido-find-file (after find-file-sudo activate)
"Find file as root if necessary."
(unless (and buffer-file-name
(file-writable-p buffer-file-name))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))) (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(defun prelude-switch-or-start (function buffer) (defun prelude-switch-or-start (function buffer)