Make treesit-font-lock-level a defcustom
* lisp/treesit.el (treesit--font-lock-level-setter): Setter for the new defcustom. (treesit-font-lock-level): Turn it into a defcustom.
This commit is contained in:
parent
6e50ee8bbb
commit
1de6ebf287
1 changed files with 23 additions and 2 deletions
|
@ -554,7 +554,25 @@ omitted, default END to BEG."
|
|||
"Generic tree-sitter font-lock error"
|
||||
'treesit-error)
|
||||
|
||||
(defvar-local treesit-font-lock-level 3
|
||||
(defun treesit--font-lock-level-setter (sym val)
|
||||
"Custom setter for `treesit-font-lock-level'."
|
||||
(set-default sym val)
|
||||
(named-let loop ((res nil)
|
||||
(buffers (buffer-list)))
|
||||
(if (null buffers)
|
||||
(mapc (lambda (b)
|
||||
(with-current-buffer b
|
||||
(setq-local treesit-font-lock-level val)
|
||||
(treesit-font-lock-recompute-features)
|
||||
(treesit-font-lock-fontify-region (point-min) (point-max))))
|
||||
res)
|
||||
(let ((buffer (car buffers)))
|
||||
(with-current-buffer buffer
|
||||
(if (treesit-parser-list)
|
||||
(loop (append res (list buffer)) (cdr buffers))
|
||||
(loop res (cdr buffers))))))))
|
||||
|
||||
(defcustom treesit-font-lock-level 3
|
||||
"Decoration level to be used by tree-sitter fontifications.
|
||||
|
||||
Major modes categorize their fontification features into levels,
|
||||
|
@ -571,7 +589,10 @@ operators, brackets, all functions and variables, etc.
|
|||
In addition to the decoration level, individual features can be
|
||||
turned on/off by calling `treesit-font-lock-recompute-features'.
|
||||
Changing the decoration level requires calling
|
||||
`treesit-font-lock-recompute-features' to have an effect.")
|
||||
`treesit-font-lock-recompute-features' to have an effect."
|
||||
:type 'integer
|
||||
:set #'treesit--font-lock-level-setter
|
||||
:version "29.1")
|
||||
|
||||
(defvar-local treesit--font-lock-query-expand-range (cons 0 0)
|
||||
"The amount to expand the start and end of the region when fontifying.
|
||||
|
|
Loading…
Add table
Reference in a new issue