From 61e2da6b34792b24fbc6f458b44cbe365fa8007e Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Fri, 29 Dec 2023 00:33:26 +0200 Subject: Add gnosis-completing-read This function is under development, it will be used to display additional info on the minibuffer, such as number of (review-option . due cards). --- gnosis.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnosis.el') diff --git a/gnosis.el b/gnosis.el index edd7c4e..7215d6b 100644 --- a/gnosis.el +++ b/gnosis.el @@ -99,6 +99,27 @@ Example: "Execute BODY in gnosis buffer." `(with-current-buffer (switch-to-buffer (get-buffer-create "*gnosis*")) ,@body)) +;; TODO: Use gnosis-completing-read to display total notes for review +;; option +(defun gnosis-completing-read (prompt candidates) + "Gnosis `completing-read' alternative. + +`PROMPT' for choice between `CANDIDATES'. +CANDIDATES need to be in a format of ((\"Option1\" \"Additional Info\")). + +WARNING: This function is still under development, DO NOT use this as is now." + (let* ((collection (lambda (str pred action) + (if (eq action 'metadata) + `(metadata + (affixation-function . ,(lambda (cands) + (mapcar + (lambda (cand) + (list cand "" (format " %s" + (or (cdr (assoc cand candidates)) "")))) + cands)))) + (complete-with-action action candidates str pred)))) + (choice (completing-read prompt collection))) + choice)) (defun gnosis-display--question (id) "Display main row for note ID." -- cgit v1.2.3