emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 5e3c635 59/90: Add a set of commands for resizing minibuff


From: Oleh Krehel
Subject: [elpa] master 5e3c635 59/90: Add a set of commands for resizing minibuffer height
Date: Tue, 30 Jun 2015 07:28:43 +0000

branch: master
commit 5e3c6358f25118d158347b7a1491239b49195f50
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    Add a set of commands for resizing minibuffer height
    
    * ivy.el (ivy-minibuffer-grow): New command.
    (ivy-minibuffer-shrink): New command.
    
    * ivy-hydra.el (hydra-ivy): Bind "<" and ">".
    
    Use "C-o >>>>>" to grow the minibuffer, and "C-o <<<<<" to shrink it.
    
    Re #151
---
 ivy-hydra.el |    6 ++++--
 ivy.el       |   13 +++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/ivy-hydra.el b/ivy-hydra.el
index 38a3467..d1ac90e 100644
--- a/ivy-hydra.el
+++ b/ivy-hydra.el
@@ -51,7 +51,7 @@
 ^^^^^^^^^^^^^^---------------------------------------
 ^ ^ _k_ ^ ^     _f_ollow  _i_nsert _c_: calling %s(if ivy-calling \"on\" 
\"off\")
 _h_ ^+^ _l_     _d_one    _o_ops   _m_: matcher %s(if (eq ivy--regex-function 
'ivy--regex-fuzzy) \"fuzzy\" \"ivy\")
-^ ^ _j_ ^ ^
+^ ^ _j_ ^ ^     ^ ^       ^ ^      _<_/_>_: shrink/grow window
 "
   ;; arrows
   ("h" ivy-beginning-of-buffer)
@@ -66,7 +66,9 @@ _h_ ^+^ _l_     _d_one    _o_ops   _m_: matcher %s(if (eq 
ivy--regex-function 'i
   ("d" ivy-done :exit t)
   ("C-m" ivy-done :exit t)
   ("c" ivy-toggle-calling)
-  ("m" ivy-toggle-fuzzy))
+  ("m" ivy-toggle-fuzzy)
+  (">" ivy-minibuffer-grow)
+  ("<" ivy-minibuffer-shrink))
 
 (provide 'ivy-hydra)
 
diff --git a/ivy.el b/ivy.el
index f6bd42c..4facc63 100644
--- a/ivy.el
+++ b/ivy.el
@@ -422,6 +422,19 @@ If the text hasn't changed as a result, forward to 
`ivy-alt-done'."
   (interactive)
   (ivy-set-index (max (- ivy--index ivy-height)
                       0)))
+(defun ivy-minibuffer-grow ()
+  "Grow the minibuffer window by 1 line"
+  (interactive)
+  (setq-local max-mini-window-height
+              (cl-incf ivy-height)))
+
+(defun ivy-minibuffer-shrink ()
+  "Shrink the minibuffer window by 1 line."
+  (interactive)
+  (unless (<= ivy-height 2)
+    (setq-local max-mini-window-height
+                (cl-decf ivy-height))
+    (window-resize (selected-window) -1)))
 
 (defun ivy-next-line (&optional arg)
   "Move cursor vertically down ARG candidates."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]