emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-30 3cad7cc8dc8: Set treesit-primary-parser for c and elixir ts mod


From: Yuan Fu
Subject: emacs-30 3cad7cc8dc8: Set treesit-primary-parser for c and elixir ts mode
Date: Sat, 14 Sep 2024 03:48:28 -0400 (EDT)

branch: emacs-30
commit 3cad7cc8dc823b8b1dd66d7777a01778e1a4defe
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    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.
---
 lisp/progmodes/c-ts-mode.el      | 3 ++-
 lisp/progmodes/elixir-ts-mode.el | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index 6c406a8acd9..f5cd36c68c7 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -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.
diff --git a/lisp/progmodes/elixir-ts-mode.el b/lisp/progmodes/elixir-ts-mode.el
index 815827ed13c..a3e11658468 100644
--- a/lisp/progmodes/elixir-ts-mode.el
+++ b/lisp/progmodes/elixir-ts-mode.el
@@ -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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]