]> code.delx.au - gnu-emacs-elpa/commitdiff
ivy.el (ivy-switch-buffer): Make "M-o r" rename buffer
authorOleh Krehel <ohwoeowho@gmail.com>
Fri, 18 Sep 2015 17:24:21 +0000 (20:24 +0300)
committerOleh Krehel <ohwoeowho@gmail.com>
Fri, 18 Sep 2015 17:24:21 +0000 (20:24 +0300)
* ivy.el (ivy--rename-buffer-action): New defun.

Fixes #233

ivy.el

diff --git a/ivy.el b/ivy.el
index f087999934a7cf50194b65448e673e7aa45889c4..27df11d49825e9e1c7dffd267a98dc8a140dabf4 100644 (file)
--- a/ivy.el
+++ b/ivy.el
@@ -1669,6 +1669,12 @@ BUFFER may be a string or nil."
           (find-file-other-window (cdr virtual))
         (switch-to-buffer-other-window buffer)))))
 
+(defun ivy--rename-buffer-action (buffer)
+  "Rename BUFFER."
+  (let ((new-name (read-string "Rename buffer (to new name): ")))
+    (with-current-buffer buffer
+      (rename-buffer new-name))))
+
 (defvar ivy-switch-buffer-map (make-sparse-keymap))
 
 (ivy-set-actions
@@ -1680,7 +1686,10 @@ BUFFER may be a string or nil."
     "kill")
    ("j"
     ivy--switch-buffer-other-window-action
-    "other")))
+    "other")
+   ("r"
+    ivy--rename-buffer-action
+    "rename")))
 
 (defun ivy-switch-buffer ()
   "Switch to another buffer."