Hoist duplicated condition-case

This commit is contained in:
Chris Barrett
2022-09-15 19:43:53 +12:00
parent 75c27eb1ee
commit b7a4d5a75a

View File

@@ -356,9 +356,12 @@ and old content."
(error "Dynamic block not terminated"))) (error "Dynamic block not terminated")))
(current-content (buffer-substring-no-properties content-start content-end)) (current-content (buffer-substring-no-properties content-start content-end))
(updated-content (updated-content
(pcase-exhaustive name (condition-case-unless-debug err
("notes" (org-roam-dblocks-format-notes params)) (pcase-exhaustive name
("backlinks" (org-roam-dblocks-format-backlinks params)))) ("notes" (org-roam-dblocks-format-notes params))
("backlinks" (org-roam-dblocks-format-backlinks params)))
(error
(error-message-string err))))
(content-changed-p (not (equal current-content (content-changed-p (not (equal current-content
updated-content))) updated-content)))
@@ -381,26 +384,22 @@ and old content."
;;; Backlinks dblock type ;;; Backlinks dblock type
(defun org-roam-dblocks-format-backlinks (params) (defun org-roam-dblocks-format-backlinks (params)
(condition-case-unless-debug err (org-roam-dblocks-args-assert params t)
(progn
(org-roam-dblocks-args-assert params t)
(setf (plist-get params :forbidden-ids) (setf (plist-get params :forbidden-ids)
(org-roam-dblocks--compute-forbidden-ids params)) (org-roam-dblocks--compute-forbidden-ids params))
(let* ((id (org-roam-dblocks-args-id params)) (let* ((id (org-roam-dblocks-args-id params))
(node (if id (org-roam-node-from-id id) (org-roam-node-at-point t))) (node (if id (org-roam-node-from-id id) (org-roam-node-at-point t)))
(lines (->> (org-roam-backlinks-get node :unique t) (lines (->> (org-roam-backlinks-get node :unique t)
(-keep (-compose (org-roam-dblocks--compiled-predicates params) #'org-roam-backlink-source-node)) (-keep (-compose (org-roam-dblocks--compiled-predicates params) #'org-roam-backlink-source-node))
(seq-map (org-roam-dblocks--make-link-formatter params)) (seq-map (org-roam-dblocks--make-link-formatter params))
(seq-sort 'org-roam-dblocks--link-sorting) (seq-sort 'org-roam-dblocks--link-sorting)
(seq-map #'org-roam-dblocks--link-to-list-item)))) (seq-map #'org-roam-dblocks--link-to-list-item))))
(string-join lines "\n"))) (string-join lines "\n")))
(error (error-message-string err))))
;;;###autoload ;;;###autoload
(defalias 'org-dblock-write:backlinks #'org-roam-dblocks--write-content) (defalias 'org-dblock-write:backlinks #'org-roam-dblocks--write-content)
;;;###autoload ;;;###autoload
(defun org-insert-dblock:backlinks () (defun org-insert-dblock:backlinks ()
"Insert a dynamic block backlinks at point." "Insert a dynamic block backlinks at point."
@@ -415,25 +414,22 @@ and old content."
;;; Roam notes search dblock type ;;; Roam notes search dblock type
(defun org-roam-dblocks-format-notes (params) (defun org-roam-dblocks-format-notes (params)
(condition-case-unless-debug err (org-roam-dblocks-args-assert params t)
(progn (cl-assert (or (org-roam-dblocks-args-match params)
(org-roam-dblocks-args-assert params t) (org-roam-dblocks-args-tags params)
(cl-assert (or (org-roam-dblocks-args-match params) (org-roam-dblocks-args-filter params)
(org-roam-dblocks-args-tags params) (org-roam-dblocks-args-remove params))
(org-roam-dblocks-args-filter params) t "Must provide at least one of :tags, :match, :filter or :remove")
(org-roam-dblocks-args-remove params))
t "Must provide at least one of :tags, :match, :filter or :remove")
(setf (plist-get params :forbidden-ids) (setf (plist-get params :forbidden-ids)
(org-roam-dblocks--compute-forbidden-ids params)) (org-roam-dblocks--compute-forbidden-ids params))
(let ((lines (->> (org-roam-node-list) (let ((lines (->> (org-roam-node-list)
(-keep (org-roam-dblocks--compiled-predicates params)) (-keep (org-roam-dblocks--compiled-predicates params))
(seq-map (org-roam-dblocks--make-link-formatter params)) (seq-map (org-roam-dblocks--make-link-formatter params))
(seq-sort #'org-roam-dblocks--link-sorting) (seq-sort #'org-roam-dblocks--link-sorting)
(seq-map #'org-roam-dblocks--link-to-list-item)))) (seq-map #'org-roam-dblocks--link-to-list-item))))
(string-join lines "\n"))) (string-join lines "\n")))
(error (error-message-string err))))
;;;###autoload ;;;###autoload
(defalias 'org-dblock-write:notes #'org-roam-dblocks--write-content) (defalias 'org-dblock-write:notes #'org-roam-dblocks--write-content)