From 78b202aed790a29f32854a99b5ba9d6b7ea81168 Mon Sep 17 00:00:00 2001 From: Daniel Borchmann Date: Sat, 20 Mar 2021 15:45:49 +0100 Subject: [PATCH] Introduce hydra for managing links between Org mode items It's easier to use and easier to keep track of what is available. It also saves key precious bindings! --- init.el | 6 +++--- site-lisp/db-org.el | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/init.el b/init.el index 40d205b..85bf959 100644 --- a/init.el +++ b/init.el @@ -175,14 +175,13 @@ (bind-key "" #'winner-undo) (bind-key "" #'winner-redo) (bind-key "" #'magit-status) - (bind-key "" #'db/org-find-links-to-current-item) (bind-key "" #'db/run-or-hide-eshell) (bind-key "" #'hydra-feature-shortcuts/body) (bind-key "" (if (executable-find "ag") #'counsel-ag #'rgrep)) (bind-key "" #'hydra-zoom/body) (bind-key "" #'dictcc) (bind-key "" #'bm-toggle) - (bind-key "" #'db/org-add-link-to-other-item) + (bind-key "" #'hydra-org-linking/body) (bind-key "" #'bm-next) (bind-key "" #'bm-previous) (bind-key "C-," #'mc/skip-to-previous-like-this) @@ -732,7 +731,8 @@ db/org-copy-template-for-periodic-task db/org-find-links-to-current-item db/org-add-link-to-other-item - db/org-add-link-to-current-clock)) + db/org-add-link-to-current-clock + hydra-org-linking/body)) (use-package org :pin "gnu" diff --git a/site-lisp/db-org.el b/site-lisp/db-org.el index 3804d9b..7e3c48b 100644 --- a/site-lisp/db-org.el +++ b/site-lisp/db-org.el @@ -733,6 +733,16 @@ in an Org Mode buffer or when the clock is not active." (pcase-let ((`(,location ,description) (cl-first org-stored-links))) (org-insert-link nil location description))) +(defhydra hydra-org-linking (:color blue :hint none) + "\nLinking between Org mode items. + _c_urrent clock _o_ther item (current buffer or default Org file) + _b_acklinks to current item _O_ther item (all text files) +" + ("c" (db/org-add-link-to-current-clock)) + ("o" (db/org-add-link-to-other-item nil)) + ("O" (db/org-add-link-to-other-item t)) + ("b" db/org-find-links-to-current-item)) + ;;; End