diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index 82e1d0b65..7c0bbe755 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -110,3 +110,51 @@ immediately runs it on the current candidate (ending the ivy session)." (setq smex-save-file (concat doom-cache-dir "/smex-items")) (smex-initialize)) + +(def-package! ivy-hydra + :commands (+ivy@coo/body ivy-dispatching-done-hydra) + :init + (map! :map ivy-minibuffer-map + "C-o" #'+ivy@coo/body + "M-o" #'ivy-dispatching-done-hydra) + :config + (def-hydra! +ivy@coo (:hint nil :color pink) + " + Move ^^^^^^^^^^ | Call ^^^^ | Cancel^^ | Options^^ | Action _w_/_s_/_a_: %s(ivy-action-name) +----------^^^^^^^^^^-+--------------^^^^-+-------^^-+--------^^-+--------------------------------- + _g_ ^ ^ _k_ ^ ^ _u_ | _f_orward _o_ccur | _i_nsert | _c_alling: %-7s(if ivy-calling \"on\" \"off\") _C_ase-fold: %-10`ivy-case-fold-search + ^↨^ _h_ ^+^ _l_ ^↕^ | _RET_ done ^^ | _q_uit | _m_atcher: %-7s(ivy--matcher-desc) _t_runcate: %-11`truncate-lines + _G_ ^ ^ _j_ ^ ^ _d_ | _TAB_ alt-done ^^ | ^ ^ | _<_/_>_: shrink/grow +" + ;; arrows + ("j" ivy-next-line) + ("k" ivy-previous-line) + ("l" ivy-alt-done) + ("h" ivy-backward-delete-char) + ("g" ivy-beginning-of-buffer) + ("G" ivy-end-of-buffer) + ("d" ivy-scroll-up-command) + ("u" ivy-scroll-down-command) + ("e" ivy-scroll-down-command) + ;; actions + ("q" keyboard-escape-quit :exit t) + ("C-g" keyboard-escape-quit :exit t) + ("" keyboard-escape-quit :exit t) + ("C-o" nil) + ("i" nil) + ("TAB" ivy-alt-done :exit nil) + ("C-j" ivy-alt-done :exit nil) + ;; ("d" ivy-done :exit t) + ("RET" ivy-done :exit t) + ("C-m" ivy-done :exit t) + ("f" ivy-call) + ("c" ivy-toggle-calling) + ("m" ivy-toggle-fuzzy) + (">" ivy-minibuffer-grow) + ("<" ivy-minibuffer-shrink) + ("w" ivy-prev-action) + ("s" ivy-next-action) + ("a" ivy-read-action) + ("t" (setq truncate-lines (not truncate-lines))) + ("C" ivy-toggle-case-fold) + ("o" ivy-occur :exit t))) diff --git a/modules/completion/ivy/packages.el b/modules/completion/ivy/packages.el index 067451a87..8ec066214 100644 --- a/modules/completion/ivy/packages.el +++ b/modules/completion/ivy/packages.el @@ -6,3 +6,4 @@ (package! counsel-projectile) (package! smex) (package! swiper) +(package! ivy-hydra)