branch: externals/org-gnosis
commit c019955b0ba2f4adcaaad0d87e7377911c1d7575
Author: Thanos Apollo <[email protected]>
Commit: Thanos Apollo <[email protected]>
[fix] insert: When called with selected region, use it as desc.
+ When called with a selected region, use it as desc
+ Simplify code
---
org-gnosis.el | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)
diff --git a/org-gnosis.el b/org-gnosis.el
index 32ab2c65f8..c542d51f48 100644
--- a/org-gnosis.el
+++ b/org-gnosis.el
@@ -524,23 +524,22 @@ 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)
t)))))
- (cond ((< (length id) 4) ; if less that 4 then `org-gnosis-select'
returned nil, (id:)
- (save-window-excursion
- (org-gnosis--create-file
- node (if journal-p org-gnosis-journal-dir org-gnosis-dir))
- ;; Save buffer to store new node id
- (save-buffer)
- (setf id (concat
- "id:"
- (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 (if arg (read-string "Description: ")
node))))))
-
+ (node (org-gnosis--find "Select gnosis node: "
+ (org-gnosis-select '[title tags] table)
+ (org-gnosis-select 'title table)))
+ (id-result (org-gnosis-select 'id table `(= ,node title) t))
+ (id (and id-result (car id-result)))
+ (desc (cond ((use-region-p)
+ (buffer-substring-no-properties (region-beginning)
(region-end)))
+ (arg (read-string "Description: "))
+ (t node))))
+ (unless id
+ (save-window-excursion
+ (org-gnosis--create-file node (if journal-p org-gnosis-journal-dir
org-gnosis-dir))
+ (save-buffer)
+ (setf id (car (org-gnosis-select 'id table `(= ,node title) t)))))
+ (org-insert-link nil (format "id:%s" id) desc)
+ (unless id (message "Created new node: %s" node))))
(defun org-gnosis-insert-filetag (&optional tag)
"Insert TAG as filetag."