Hi, I'm trying to figure out how to properly use treesit-range-rules for my php-ts-mode (you can find it here https://github.com/vpxyz/php-ts-mode, there are still several things to fix.). Currently the rules I am using are as follows: (setq-local treesit-range-settings (treesit-range-rules :embed 'html :host 'php ;;:local t '((program (text) @cap) (text_interpolation (text) @cap)) :embed 'javascript :host 'html ;;:local t '((script_element (start_tag (tag_name)) (raw_text) @cap)) :embed 'css :host 'html ;;:local t '((style_element (start_tag (tag_name)) (raw_text) @cap)))) I also tried different combinations, even with the new :local flag. However, I couldn't find a way to prevent built-in language parsers from modifying highlighted syntax outside of the ranges captured by queries. I used php-mode as a comparison. For example you can see how it behaves with the two files https://github.com/emacs-php/php-mode/blob/master/tests/8.0/ attribute/class.php or https://github.com/emacs-php/php-mode/blob/master/ tests/issue-66-namespace.php. It is possible to set a php-ts-mode-disable-inject variable to enable or disable the parsers for html/css/javascript to see the differences. What am I doing wrong? Thank you Vincenzo