summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--org-gnosis.el9
1 files changed, 5 insertions, 4 deletions
diff --git a/org-gnosis.el b/org-gnosis.el
index 8f72ddc..29f4562 100644
--- a/org-gnosis.el
+++ b/org-gnosis.el
@@ -441,16 +441,17 @@ If templates is only item, return it without a prompt."
(funcall (apply #'append template))))
;;;###autoload
-(defun org-gnosis-insert (&optional journal-p)
+(defun org-gnosis-insert (arg &optional journal-p)
"Insert gnosis node.
+If called with ARG, prompt for custom link description.
If JOURNAL-P is non-nil, retrieve/create node as a journal entry."
(interactive "P")
(let* ((table (if journal-p 'journal 'nodes))
(node (org-gnosis--find "Select gnosis node: "
(org-gnosis-select '[title tags] table)
(org-gnosis-select 'title table)))
- (id (concat "id:" (car (org-gnosis-select 'id table `(= ,node title))))))
+ (id (concat "id:" (car (org-gnosis-select 'id table `(= ,node title) t)))))
(cond ((< (length id) 4) ; if less that 4 then `org-gnosis-select' returned nil, (id:)
(save-window-excursion
(org-gnosis--create-file
@@ -459,10 +460,10 @@ If JOURNAL-P is non-nil, retrieve/create node as a journal entry."
(save-buffer)
(setf id (concat
"id:"
- (car (org-gnosis-select 'id table `(= ,node title))))))
+ (car (org-gnosis-select 'id table `(= ,node title) t)))))
(org-insert-link nil id node)
(message "Created new node: %s" node))
- (t (org-insert-link nil id node)))))
+ (t (org-insert-link nil id (if arg (read-string "Description: ") node))))))
(defun org-gnosis-insert-filetag (&optional tag)