Function: html-current-buffer-classes

html-current-buffer-classes is a byte-compiled function defined in sgml-mode.el.gz.

Signature

(html-current-buffer-classes)

Documentation

Return a list of class names used in the current buffer.

The result is cached in html--buffer-classes-cache.

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/sgml-mode.el.gz
(defun html-current-buffer-classes ()
  "Return a list of class names used in the current buffer.
The result is cached in `html--buffer-classes-cache'."
  (let ((tick (buffer-modified-tick)))
    (if (eq (car html--buffer-classes-cache) tick)
        (cdr html--buffer-classes-cache)
      (let* ((dom (libxml-parse-html-region (point-min) (point-max)))
             (classes
              (seq-mapcat
               (lambda (el)
                 (when-let* ((class-list
                              (cdr (assq 'class (dom-attributes el)))))
                   (split-string class-list)))
               (dom-by-class dom ""))))
        (setq-local html--buffer-classes-cache (cons tick classes))
        classes))))