mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-12 15:10:50 +00:00
; Fix build and startup without tree-sitter
* lisp/treesit.el (treesit--font-lock-level-setter): Don't loop over all the buffers if tree-sitter is not built-in, or else initialization of defcustom will fail. (Bug#61155) * lisp/progmodes/rust-ts-mode.el (treesit-node-parent): * lisp/progmodes/c-ts-common.el (treesit-node-parent): Declare, to * avoid byte-compilation warnings.
This commit is contained in:
parent
99e40959f4
commit
dda4baa58b
3 changed files with 19 additions and 14 deletions
|
@ -50,6 +50,7 @@
|
||||||
(declare-function treesit-node-start "treesit.c")
|
(declare-function treesit-node-start "treesit.c")
|
||||||
(declare-function treesit-node-end "treesit.c")
|
(declare-function treesit-node-end "treesit.c")
|
||||||
(declare-function treesit-node-type "treesit.c")
|
(declare-function treesit-node-type "treesit.c")
|
||||||
|
(declare-function treesit-node-parent "treesit.c")
|
||||||
|
|
||||||
;;; Comment indentation and filling
|
;;; Comment indentation and filling
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
(declare-function treesit-node-child-by-field-name "treesit.c")
|
(declare-function treesit-node-child-by-field-name "treesit.c")
|
||||||
(declare-function treesit-node-start "treesit.c")
|
(declare-function treesit-node-start "treesit.c")
|
||||||
(declare-function treesit-node-type "treesit.c")
|
(declare-function treesit-node-type "treesit.c")
|
||||||
|
(declare-function treesit-node-parent "treesit.c")
|
||||||
|
|
||||||
(defcustom rust-ts-mode-indent-offset 4
|
(defcustom rust-ts-mode-indent-offset 4
|
||||||
"Number of spaces for each indentation step in `rust-ts-mode'."
|
"Number of spaces for each indentation step in `rust-ts-mode'."
|
||||||
|
|
|
@ -87,6 +87,7 @@
|
||||||
(declare-function treesit-search-subtree "treesit.c")
|
(declare-function treesit-search-subtree "treesit.c")
|
||||||
(declare-function treesit-search-forward "treesit.c")
|
(declare-function treesit-search-forward "treesit.c")
|
||||||
(declare-function treesit-induce-sparse-tree "treesit.c")
|
(declare-function treesit-induce-sparse-tree "treesit.c")
|
||||||
|
(declare-function treesit-subtree-stat "treesit.c")
|
||||||
|
|
||||||
(declare-function treesit-available-p "treesit.c")
|
(declare-function treesit-available-p "treesit.c")
|
||||||
|
|
||||||
|
@ -557,20 +558,22 @@ omitted, default END to BEG."
|
||||||
(defun treesit--font-lock-level-setter (sym val)
|
(defun treesit--font-lock-level-setter (sym val)
|
||||||
"Custom setter for `treesit-font-lock-level'."
|
"Custom setter for `treesit-font-lock-level'."
|
||||||
(set-default sym val)
|
(set-default sym val)
|
||||||
(named-let loop ((res nil)
|
(and (treesit-available-p)
|
||||||
(buffers (buffer-list)))
|
(named-let loop ((res nil)
|
||||||
(if (null buffers)
|
(buffers (buffer-list)))
|
||||||
(mapc (lambda (b)
|
(if (null buffers)
|
||||||
(with-current-buffer b
|
(mapc (lambda (b)
|
||||||
(setq-local treesit-font-lock-level val)
|
(with-current-buffer b
|
||||||
(treesit-font-lock-recompute-features)
|
(setq-local treesit-font-lock-level val)
|
||||||
(treesit-font-lock-fontify-region (point-min) (point-max))))
|
(treesit-font-lock-recompute-features)
|
||||||
res)
|
(treesit-font-lock-fontify-region (point-min)
|
||||||
(let ((buffer (car buffers)))
|
(point-max))))
|
||||||
(with-current-buffer buffer
|
res)
|
||||||
(if (treesit-parser-list)
|
(let ((buffer (car buffers)))
|
||||||
(loop (append res (list buffer)) (cdr buffers))
|
(with-current-buffer buffer
|
||||||
(loop res (cdr buffers))))))))
|
(if (treesit-parser-list)
|
||||||
|
(loop (append res (list buffer)) (cdr buffers))
|
||||||
|
(loop res (cdr buffers)))))))))
|
||||||
|
|
||||||
(defcustom treesit-font-lock-level 3
|
(defcustom treesit-font-lock-level 3
|
||||||
"Decoration level to be used by tree-sitter fontifications.
|
"Decoration level to be used by tree-sitter fontifications.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue