Function: web-mode-fontify-tag

web-mode-fontify-tag is a natively compiled function defined in web-mode.el.

Signature

(web-mode-fontify-tag &optional BEG END)

Source Code

;; Defined in /nix/store/2qgnz1rp30nzfz6w0apx4kdm14if1bbs-emacs-packages-deps/share/emacs/site-lisp/elpa/web-mode-20260831.219/web-mode.el
(defun web-mode-fontify-tag (&optional beg end)
  (unless beg (setq beg (point)))
  (unless end (setq end (1+ (web-mode-tag-end-position beg))))
  (let (name type face flags slash-beg slash-end bracket-end)
    (setq flags (get-text-property beg 'tag-beg)
          type (get-text-property beg 'tag-type)
          name (get-text-property beg 'tag-name))
    (setq bracket-end (> (logand flags 16) 0))
    (cond
      ((eq type 'comment)
       (put-text-property beg end 'font-lock-face 'web-mode-comment-face)
       (when (and web-mode-enable-comment-interpolation (> (- end beg) 5))
         (web-mode-interpolate-comment beg end nil)))
      ((eq type 'cdata)
       (put-text-property beg end 'font-lock-face 'web-mode-doctype-face))
      ((eq type 'doctype)
       (put-text-property beg end 'font-lock-face 'web-mode-doctype-face))
      ((eq type 'declaration)
       (put-text-property beg end 'font-lock-face 'web-mode-doctype-face))
      (name
       (setq slash-beg (> (logand flags 4) 0)
             slash-end (> (logand flags 8) 0)
             bracket-end (> (logand flags 16) 0))
       (setq face (cond
                    ((not bracket-end)       'web-mode-html-tag-unclosed-face)
                    ((and web-mode-enable-element-tag-fontification
                          (setq face (cdr (assoc name web-mode-element-tag-faces))))
                     face)
                    ((> (logand flags 32) 0) 'web-mode-html-tag-namespaced-face)
                    ((> (logand flags 2) 0)  'web-mode-html-tag-custom-face)
                    (t                       'web-mode-html-tag-face)))
       (put-text-property beg (+ beg (if slash-beg 2 1))
                          'font-lock-face 'web-mode-html-tag-bracket-face)
       (if (string= name "_fragment_")
           (progn
             ;;(message "beg=%S" beg)
             )
           (put-text-property (+ beg (if slash-beg 2 1))
                              (+ beg (if slash-beg 2 1) (length name))
                              'font-lock-face face))
       (when (or slash-end bracket-end)
         (put-text-property (- end (if slash-end 2 1)) end 'font-lock-face 'web-mode-html-tag-bracket-face)
         ) ;when
       (when (> (logand flags 1) 0)
         ;;(message "%S>%S" beg end)
         (web-mode-fontify-attrs beg end))
       ) ;case name
      ) ;cond
    ))