Set treesit-primary-parser for c and elixir ts mode

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.
This commit is contained in:
Yuan Fu 2024-09-14 00:46:05 -07:00
parent 2f243fb91d
commit 3cad7cc8dc
No known key found for this signature in database
GPG key ID: 56E19BC57664A442
2 changed files with 4 additions and 2 deletions

View file

@ -1318,7 +1318,8 @@ in your init files."
;; 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)))
(treesit-parser-create 'c)
;; Comments.

View file

@ -701,7 +701,8 @@ Return nil if NODE is not a defun node or doesn't have a name."
(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)