From 0f3ffce4f59f660fbf5730ca296524c487a5ea43 Mon Sep 17 00:00:00 2001 From: Adam Hellberg Date: Sun, 23 Oct 2022 17:49:54 +0200 Subject: [PATCH] Improve display in org-roam node search Aliases will now point to their actual node name. Code adapted from https://gist.github.com/chunglak/d39636cc8164e5101286b821c468f65a --- doom/.config/doom/config.el | 2 ++ .../doom/hacks/org-roam-alias-display.el | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 doom/.config/doom/hacks/org-roam-alias-display.el diff --git a/doom/.config/doom/config.el b/doom/.config/doom/config.el index 577ee11..c318e83 100644 --- a/doom/.config/doom/config.el +++ b/doom/.config/doom/config.el @@ -142,6 +142,8 @@ (advice-remove 'org-tree-slide--display-tree-with-narrow #'+org-present--hide-first-heading-maybe-a)) +(load! "hacks/org-roam-alias-display.el") + ;; Whenever you reconfigure a package, make sure to wrap your config in an ;; `after!' block, otherwise Doom's defaults may override your settings. E.g. ;; diff --git a/doom/.config/doom/hacks/org-roam-alias-display.el b/doom/.config/doom/hacks/org-roam-alias-display.el new file mode 100644 index 0000000..e138440 --- /dev/null +++ b/doom/.config/doom/hacks/org-roam-alias-display.el @@ -0,0 +1,17 @@ +;;; $DOOMDIR/hacks/org-roam-alias-display.el -*- lexical-binding: t; -*- + +(after! org-roam + (cl-defmethod org-roam-node-orig-pointer ((node org-roam-node)) + (let* ((title (org-roam-node-title node)) + (props (org-roam-node-properties node)) + (aliases0 (cdr (assoc "ROAM_ALIASES" props))) + (aliases (if aliases0 (split-string-and-unquote aliases0) nil))) + (if (and aliases (listp aliases) (member title aliases)) + (let ((item (cdr (assoc "ITEM" props)))) + (format "→ %s" (if item item (org-roam-node-file-title node)))) + ""))) + + (setq org-roam-node-display-template + (format "${doom-hierarchy:*} ${orig-pointer:30} %s %s" + (propertize "${doom-type:12}" 'face 'font-lock-keyword-face) + (propertize "${doom-tags:42}" 'face 'org-tag)))) -- 2.51.2