From 9329125383e2329ac75432a62f5a81d50db4d78b Mon Sep 17 00:00:00 2001 From: JSDurand Date: Sun, 8 Jan 2023 22:38:52 +0800 Subject: bookmark: add types to handlers and use that for grouping * bookmark-conf.el ("durand"): Use types of bookmark handlers as group headings. (pdf-view-bookmark-jump-handler): Give it the type "PDF". (durand-external-jump): Give it the type "External". * eww-conf.el: Give the handler for EWW the type "EWW". --- bookmark-conf.el | 13 +++++++++++++ eww-conf.el | 3 +++ 2 files changed, 16 insertions(+) diff --git a/bookmark-conf.el b/bookmark-conf.el index d2750b3..508fae3 100644 --- a/bookmark-conf.el +++ b/bookmark-conf.el @@ -100,6 +100,10 @@ (save-match-data (let* ((handler (bookmark-get-handler element)) (handler-name (and handler (format "%S" handler))) + (handler-type + (cond + ((functionp #'bookmark-type-from-full-record) + (bookmark-type-from-full-record element)))) (location (bookmark-location element)) (capitalize-p t)) ;; replace repeating parts @@ -151,6 +155,7 @@ (setq handler-name (match-string 1 new-location))) ((setq handler-name nil))))))) (cond + (handler-type) (handler-name (cond ((<= (length handler-name) 3) (upcase handler-name)) @@ -191,6 +196,10 @@ (eq (bookmark-get-handler bookmark) 'pdf-view-bookmark-jump-handler)) +;; This is added in Emacs 29. + +(put 'pdf-view-bookmark-jump-handler 'bookmark-handler-type "PDF") + ;;;; Org group (defvar org-directory) @@ -314,6 +323,10 @@ This will be opened by the function `browse-url-default-browser'." (autoload 'browse-url-default-browser "browse-url") +;; This is added in Emacs 29. + +(put 'durand-external-jump 'bookmark-handler-type "External") + (defun durand-external-jump (bookmark) "Jump to the external BOOKMARK. BOOKMARK should be set by `durand-set-external-bookmark'." diff --git a/eww-conf.el b/eww-conf.el index dae5a7a..d6d8bd2 100644 --- a/eww-conf.el +++ b/eww-conf.el @@ -484,6 +484,9 @@ Just a temporary advice to override `pop-to-buffer'." ;; NOTE: It works with jumping in another window. +;; This is added in Emacs-29. +(put 'durand-eww-bookmark-jump 'bookmark-handler-type "EWW") + ;;;###autoload (defun durand-eww-bookmark-jump (bookmark) "Jump to BOOKMARK in EWW. -- cgit v1.2.3-18-g5258