Okay, so Consult provides a
composable, high performance buffer selector in the form of consult-buffer
; it has extensible sources that
are, basically, built to work with completing-read
, so org-roam-find-file
can work with it. This is
exceedingly powerful as now any of my org-roam files are on my consult-buffer
, at my fingertips.
jgru/consult-org-roam
provides a bunch of nice features which should be bound in to my
org-roam command prefix.. It's not in MELPA or anything, just another
thing that expects me to use straight-use-package
to load it — well here is
some fucked up stuff for providing it to Arroyo Emacs's init generator via ARROYO_HOME_EPKGS
.
use-package consult-org-roam
(
:diminish
:init"Loading consult-org-roam HERE")
(message require 'consult-org-roam)
(;; Activate the minor-mode
1)
(consult-org-roam-mode ;; restore behavior of consult-buffer overridden by consult-org-roam-buffer... prefer mine.
:custom#'consult-ripgrep)
(consult-org-roam-grep-func
:config;; Eventually suppress previewing for certain functions
"Trying to override consult-org-roam-buffer behavior HERE...")
(message nil)
(consult-org-roam-buffer--customize-source-buffer
(consult-customize
consult-org-roam-forward-links"M-."))
:preview-key (kbd
:bind (:map org-roam-prefix-map)"b" . consult-org-roam-backlinks)
("/" . consult-org-roam-search)
(
:hooklambda ()
(after-cce . ("Trying to override consult-org-roam-buffer behavior HERE (after-cce)...")
(message nil)))
(consult-org-roam-buffer--customize-source-buffer
:after (consult org-roam))
provide 'cce/consult-org-roam) (
-org-roam = (let
consultversions = pkgs.lib.pkgVersions.consult-org-roam;
rev = pkgs.lib.pkgVersions.consult-org-roam-rev;
in epkgs.melpaBuild {
pname = "consult-org-roam";
version = "20220416.2107";
commit = rev;
src = pkgs.callPackage versions {};
recipe = pkgs.writeText "recipe" ''
(consult-org-roam
:repo "jgru/consult-org-roam"
:fetcher github)
'';
packageRequires = [ epkgs.consult epkgs.org-roam ];
meta = {
homepage = "https://github.com/jgru/consult-org-roam";
license = lib.licenses.gpl3Plus;
};
});
nil
(condition-case progn
(require 'consult)
(require 'consult-org-roam)
(
(defface consult-org-roamt :inherit font-lock-function-name-face))
'(("Face used to highlight org-roam entries in `consult-buffer'.")
defvar consult--source-org-roam
(
`(:name "Org Roam"
:narrow ?r
:category org-roam
:face consult-org-roam
:state consult-org-roam--node-previewlambda (cand &optional restore)
:action ,(
(org-roam-node-visit0 'node cand)))
(get-text-property lambda ()
:items ,(lambda (item) (car item))
(seq-map (
(org-roam-node-read--completions))))"Org-Roam candidate source for `consult-buffer'.")
;; disable builtin one which only shows buffers and not nodes...
setq consult-buffer-sources (delq 'org-roam-buffer-source consult-buffer-sources))
('consult-buffer-sources 'consult--source-org-roam t))
(add-to-list error nil)
(
)provide 'cce/consult-buffer-org-roam) (