]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for <mark> in shr
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 1 Jul 2022 11:45:52 +0000 (13:45 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 1 Jul 2022 11:45:52 +0000 (13:45 +0200)
* lisp/net/shr.el (shr-mark): New face (bug#48211).
(shr-tag-mark): New function

lisp/net/shr.el

index 0645f4721a31d803b782bc3a742ba019f34e4e3d..63f313bbf44fccd1227f6f493d171294a46b71b8 100644 (file)
@@ -232,6 +232,11 @@ temporarily blinks with this face."
   "Face used for rendering <code> blocks."
   :version "29.1")
 
+(defface shr-mark
+  '((t :background "yellow" :foreground "black"))
+  "Face used for <mark> elements."
+  :version "29.1")
+
 (defcustom shr-inhibit-images nil
   "If non-nil, inhibit loading images."
   :version "28.1"
@@ -1422,6 +1427,14 @@ ones, in case fg and bg are nil."
   ;; The `tt' tag is deprecated in favor of `code'.
   (shr-tag-code dom))
 
+(defun shr-tag-mark (dom)
+  (when (and (not (bobp))
+             (not (= (char-after (1- (point))) ?\s)))
+    (insert " "))
+  (let ((start (point)))
+    (shr-generic dom)
+    (shr-add-font start (point) 'shr-mark)))
+
 (defun shr-tag-ins (cont)
   (let* ((start (point))
          (color "green")