Function: web-mode-fontify-attrs

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

Signature

(web-mode-fontify-attrs REG-BEG REG-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-attrs (reg-beg reg-end)
  (let ((continue t) (pos reg-beg) beg end flags offset face)
    ;;(message "fontify-attrs %S>%S" reg-beg reg-end)
    (while continue
      (setq beg (web-mode-attribute-next-position pos reg-end))
      (cond
        ((or (null beg) (>= beg reg-end))
         (setq continue nil))
        (t
         (setq flags (or (get-text-property beg 'tag-attr-beg) 0))
         (setq face (cond
                      ((= (logand flags 1) 1) 'web-mode-html-attr-custom-face)
                      ((= (logand flags 2) 2) 'web-mode-html-attr-engine-face)
                      ((= (logand flags 4) 4) nil)
                      (t                      'web-mode-html-attr-name-face)))
         ;;(setq end (if (get-text-property beg 'tag-attr-end) beg (web-mode-attribute-end-position beg)))
         (setq end (web-mode-attribute-end-position beg))
         ;;(message "beg=%S end=%S" beg end)
         (cond
           ((or (null end) (>= end reg-end))
            (setq continue nil))
           (t
            (setq offset (get-text-property end 'tag-attr-end))
            (if (= offset 0)
                (put-text-property beg (1+ end) 'font-lock-face face)
                (put-text-property beg (+ beg offset) 'font-lock-face face)
                (put-text-property (+ beg offset) (+ beg offset 1)
                                   'font-lock-face
                                   'web-mode-html-attr-equal-face)
                (when (not (get-text-property (+ beg offset 1) 'jsx-beg))
                  (put-text-property (+ beg offset 1) (1+ end)
                                     'font-lock-face
                                     'web-mode-html-attr-value-face)
                  )
                ) ;if offset
            (setq pos (1+ end))
            ) ;t
           ) ;cond
         ) ;t
        );cond
      ) ;while
    ))