From ec00d292ec02f34a0d879767c6737fadbe24ce20 Mon Sep 17 00:00:00 2001 From: Yuan Fu Date: Sun, 4 Dec 2022 00:22:28 -0800 Subject: Improve treesit-fontify-with-override This also fixes fontification problem with c-ts-mode--fontify-defun. Now treesit-fontify-with-override clips the fontification region for the user, so no need for (max start node-start) shenanigans anymore. More importantly it doesn't fontify unless the region between node-start and node-end intersects with the region between start and end, which fixes the problem with c-ts-mode--fontify-defun. * lisp/treesit.el (treesit-fontify-with-override): Add optional parameter BOUND-START and BOUND-END. Wrap the function body in a when-form. * lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-declarator) (c-ts-mode--fontify-variable) (c-ts-mode--fontify-defun) (c-ts-fontify-error) * lisp/progmodes/js.el (js--fontify-template-string) * lisp/progmodes/python.el (python--treesit-fontify-string): Use the new signature. --- lisp/progmodes/python.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lisp/progmodes/python.el') diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 4fc5d24e2fb..ebee703499a 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1069,7 +1069,7 @@ fontified." (when (eq (char-after string-beg) ?f) (cl-incf string-beg)) (treesit-fontify-with-override - (max start string-beg) (min end string-end) face override))) + string-beg string-end face override start end))) (defvar python--treesit-settings (treesit-font-lock-rules -- cgit v1.2.1