Function: treesit--font-lock-level-setter

treesit--font-lock-level-setter is a byte-compiled function defined in treesit.el.gz.

Signature

(treesit--font-lock-level-setter SYM VAL &optional BUFFER-LOCAL)

Documentation

Custom setter for treesit-font-lock-level.

Set the default value of SYM to VAL, recompute fontification features and refontify for every buffer where tree-sitter-based fontification is enabled.

If optional BUFFER-LOCAL is non-nil, only affect the current buffer. Set SYM buffer locally and refontify.

Source Code

;; Defined in /usr/src/emacs/lisp/treesit.el.gz
(defun treesit--font-lock-level-setter (sym val &optional buffer-local)
  "Custom setter for `treesit-font-lock-level'.
Set the default value of SYM to VAL, recompute fontification
features and refontify for every buffer where tree-sitter-based
fontification is enabled.

If optional BUFFER-LOCAL is non-nil, only affect the current buffer.
Set SYM buffer locally and refontify."
  ;; FIXME: This doesn't re-run major mode hooks, meaning any
  ;; customization done in major mode hooks (e.g., with
  ;; `treesit-font-lock-recompute-features') may be overridden.
  (cond (buffer-local
         (set-local sym val)
         (when (and (treesit-available-p)
                    treesit-font-lock-settings)
           (treesit-font-lock-recompute-features)
           (font-lock-flush)))
        (t
         (set-default sym val)
         (when (treesit-available-p)
           (dolist (buffer (buffer-list))
             (with-current-buffer buffer
               (when treesit-font-lock-settings
                 (treesit-font-lock-recompute-features)
                 (font-lock-flush))))))))