Merge branch 'master' of github.com:bbatsov/prelude

This commit is contained in:
Bozhidar Batsov 2015-05-22 08:52:22 +03:00
commit fe7997bc6e
4 changed files with 30 additions and 6 deletions

View file

@ -285,6 +285,21 @@ there's a region, all lines that region covers will be duplicated."
(interactive)
(byte-recompile-directory prelude-dir 0))
(defun prelude-file-owner-uid (filename)
"Return the UID of the FILENAME as an integer.
See `file-attributes' for more info."
(nth 2 (file-attributes filename 'integer)))
(defun prelude-file-owned-by-user-p (filename)
"Return t if file FILENAME is owned by the currently logged in user."
(equal (prelude-file-owner-uid filename)
(user-uid)))
(defun prelude-find-alternate-file-as-root (filename)
"Wraps `find-alternate-file' with opening a file as root."
(find-alternate-file (concat "/sudo:root@localhost:" filename)))
(require 'ido)
(defun prelude-sudo-edit (&optional arg)
"Edit currently visited file as root.
@ -296,15 +311,17 @@ buffer is not visiting a file."
(if (or arg (not buffer-file-name))
(find-file (concat "/sudo:root@localhost:"
(ido-read-file-name "Find file(as root): ")))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(prelude-find-alternate-file-as-root buffer-file-name)))
(defadvice ido-find-file (after find-file-sudo activate)
(defun prelude-reopen-as-root ()
"Find file as root if necessary."
(unless (or (tramp-tramp-file-p buffer-file-name)
(equal major-mode 'dired-mode)
(not (file-exists-p (file-name-directory buffer-file-name)))
(file-writable-p buffer-file-name))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(file-writable-p buffer-file-name)
(prelude-file-owned-by-user-p buffer-file-name))
(prelude-find-alternate-file-as-root buffer-file-name)))
(add-hook 'find-file-hook 'prelude-reopen-as-root)
(defun prelude-start-or-switch-to (function buffer-name)
"Invoke FUNCTION if there is no buffer with BUFFER-NAME.

View file

@ -68,7 +68,8 @@
"%b"))))
;; use zenburn as the default theme
(load-theme prelude-theme t)
(when prelude-theme
(load-theme prelude-theme t))
(provide 'prelude-ui)
;;; prelude-ui.el ends here