From dfd309a77b11abb672c35552da99bc86426d014c Mon Sep 17 00:00:00 2001 From: Kalle Lindqvist Date: Wed, 6 Jun 2018 21:37:58 +0200 Subject: [PATCH] ivy: improve jumping in buffer --- layers/+completion/ivy/funcs.el | 9 +++++++++ layers/+completion/ivy/packages.el | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/layers/+completion/ivy/funcs.el b/layers/+completion/ivy/funcs.el index 0d5448cb7..9f09ef6e6 100644 --- a/layers/+completion/ivy/funcs.el +++ b/layers/+completion/ivy/funcs.el @@ -350,6 +350,15 @@ To prevent this error we just wrap `describe-mode' to defeat the ((headline inlinetask) (save-excursion (goto-char (org-element-property :begin context)) (call-interactively 'counsel-org-tag)) t))))) + +(defun spacemacs/counsel-jump-in-buffer () + "Jump in buffer with `counsel-imenu' or `counsel-org-goto' if in in org-mode" + (interactive) + (call-interactively + (cond + ((eq major-mode 'org-mode) 'counsel-org-goto) + (t 'counsel-imenu)))) + ;; Ivy diff --git a/layers/+completion/ivy/packages.el b/layers/+completion/ivy/packages.el index 2ff54eea0..d5fbf48f7 100644 --- a/layers/+completion/ivy/packages.el +++ b/layers/+completion/ivy/packages.el @@ -18,6 +18,7 @@ evil flx helm-make + imenu ivy ivy-hydra (ivy-rich :toggle ivy-enable-advanced-buffer-information) @@ -74,7 +75,7 @@ "ry" 'counsel-yank-pop "rm" 'counsel-mark-ring ;; jumping - "sj" 'counsel-imenu + "sj" 'spacemacs/counsel-jump-in-buffer ;; themes "Ts" 'counsel-load-theme ;; search @@ -174,7 +175,7 @@ "cm" 'helm-make)))) (defun ivy/post-init-imenu () - (spacemacs/set-leader-keys "ji" 'counsel-imenu)) + (spacemacs/set-leader-keys "ji" 'spacemacs/counsel-jump-in-buffer)) (defun ivy/init-ivy () (use-package ivy