For buffers with multiple parsers, it's important to set this variable
so font-lock invalidation works smoothly.
* lisp/progmodes/c-ts-mode.el (c-ts-mode): Set treesit-primary-parser.
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): Set
treesit-primary-parser.
(cherry picked from commit
3cad7cc8dc823b8b1dd66d7777a01778e1a4defe)
;; Create an "for-each" parser, see `c-ts-mode--emacs-set-ranges'
;; for more.
(when c-ts-mode-emacs-sources-support
- (treesit-parser-create 'c nil nil 'for-each))
+ (setq-local treesit-primary-parser
+ (treesit-parser-create 'c nil nil 'for-each)))
(let ((primary-parser (treesit-parser-create 'c)))
;; Comments.
(require 'heex-ts-mode)
(treesit-parser-create 'heex))
- (treesit-parser-create 'elixir)
+ (setq-local treesit-primary-parser
+ (treesit-parser-create 'elixir))
(setq-local treesit-language-at-point-function
'elixir-ts--treesit-language-at-point)