From 4ef9ce6064a3c73144956c2acc25164db155c298 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Sun, 3 Mar 2024 02:21:50 +0200 Subject: Add gnosis-edit-deck Edit contents of a deck with a given ID. This function is meant to be used from within a *gnosis-dashboard* buffer. Uses custom kbd via local-set-key, since gnosis-dashboard mode is also used by gnosis-edit-notes, this is viable alternative, if you have any other recommendations feel free to email them to me --- gnosis.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnosis.el b/gnosis.el index d6d719f..b454a5a 100644 --- a/gnosis.el +++ b/gnosis.el @@ -1269,6 +1269,23 @@ Insert deck values `ef-increase', `ef-decrease', `ef-threshold', `failure-factor when value do (gnosis-update 'decks `(= ,field ,value) `(= id ,id)))) +(defun gnosis-edit-deck (&optional id) + "Edit the contents of a deck with the given ID." + (interactive "P") + (let ((id (or id (gnosis--get-deck-id)))) + (pop-to-buffer-same-window (get-buffer-create "*gnosis-edit*")) + (gnosis-edit-mode) + (erase-buffer) + (insert ";;\n;; You are editing a gnosis deck.\n\n") + (insert "(gnosis-edit-update-deck ") + (gnosis-edit-deck--export id) + (insert ")") + (insert "\n\n;; After finishing editing, save changes with ` '\n;; Avoid exiting without saving.") + (indent-region (point-min) (point-max)) + (gnosis-edit-read-only-values (format ":id %s" id) ":name" ":ef-increase" + ":ef-decrease" ":ef-threshold" ":failure-factor") + (local-unset-key (kbd "C-c C-c")) + (local-set-key (kbd "C-c C-c") (lambda () (interactive) (gnosis-edit-save-exit t 'gnosis-dashboard "Decks"))))) (cl-defun gnosis-edit-save-exit (&optional deck-edit (exit-func 'exit-recursive-edit) &rest args) "Save edits and exit. -- cgit v1.2.3