aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2025-04-22 19:32:36 +0300
committerJuri Linkov2025-04-22 19:32:36 +0300
commit8fb45fcaedbe1b89bab54406c8739404d0ad35bc (patch)
treecf86f969f9ba2eb02b9635cc36e227cc3dfbc629
parent2bf3790f374e0a162e05a470940f57b43a244ad7 (diff)
downloademacs-8fb45fcaedbe1b89bab54406c8739404d0ad35bc.tar.gz
emacs-8fb45fcaedbe1b89bab54406c8739404d0ad35bc.zip
Fix all issues for the case when tree-sitter is disabled.
* lisp/treesit.el (treesit-declare-unavailable-functions): Declare 'treesit-language-abi-version' and 'treesit-library-abi-version'. * lisp/progmodes/elixir-ts-mode.el (elixir-ts--range-rules): * lisp/progmodes/heex-ts-mode.el (heex-ts--range-rules): * lisp/progmodes/rust-ts-mode.el (treesit-language-source-alist): Guard with 'treesit-available-p'.
-rw-r--r--lisp/progmodes/elixir-ts-mode.el13
-rw-r--r--lisp/progmodes/heex-ts-mode.el25
-rw-r--r--lisp/progmodes/rust-ts-mode.el3
-rw-r--r--lisp/treesit.el3
4 files changed, 25 insertions, 19 deletions
diff --git a/lisp/progmodes/elixir-ts-mode.el b/lisp/progmodes/elixir-ts-mode.el
index f7d6932c7c2..52744f194a2 100644
--- a/lisp/progmodes/elixir-ts-mode.el
+++ b/lisp/progmodes/elixir-ts-mode.el
@@ -622,12 +622,13 @@
622 "`treesit-thing-settings' for Elixir.") 622 "`treesit-thing-settings' for Elixir.")
623 623
624(defvar elixir-ts--range-rules 624(defvar elixir-ts--range-rules
625 (treesit-range-rules 625 (when (treesit-available-p)
626 :embed 'heex 626 (treesit-range-rules
627 :host 'elixir 627 :embed 'heex
628 '((sigil (sigil_name) @_name 628 :host 'elixir
629 (:match "^[HF]$" @_name) 629 '((sigil (sigil_name) @_name
630 (quoted_content) @heex)))) 630 (:match "^[HF]$" @_name)
631 (quoted_content) @heex)))))
631 632
632(defvar heex-ts--range-rules) 633(defvar heex-ts--range-rules)
633(defvar heex-ts--thing-settings) 634(defvar heex-ts--thing-settings)
diff --git a/lisp/progmodes/heex-ts-mode.el b/lisp/progmodes/heex-ts-mode.el
index 2d6dce784bc..cf3fad4af10 100644
--- a/lisp/progmodes/heex-ts-mode.el
+++ b/lisp/progmodes/heex-ts-mode.el
@@ -173,18 +173,19 @@ Return nil if NODE is not a defun node or doesn't have a name."
173 "`treesit-thing-settings' for HEEx.") 173 "`treesit-thing-settings' for HEEx.")
174 174
175(defvar heex-ts--range-rules 175(defvar heex-ts--range-rules
176 (treesit-range-rules 176 (when (treesit-available-p)
177 :embed 'elixir 177 (treesit-range-rules
178 :host 'heex 178 :embed 'elixir
179 '((directive [(partial_expression_value) 179 :host 'heex
180 (ending_expression_value)] 180 '((directive [(partial_expression_value)
181 @cap)) 181 (ending_expression_value)]
182 182 @cap))
183 :embed 'elixir 183
184 :host 'heex 184 :embed 'elixir
185 :local t 185 :host 'heex
186 '((directive (expression_value) @cap) 186 :local t
187 (expression (expression_value) @cap)))) 187 '((directive (expression_value) @cap)
188 (expression (expression_value) @cap)))))
188 189
189(defvar elixir-ts--font-lock-settings) 190(defvar elixir-ts--font-lock-settings)
190(defvar elixir-ts--font-lock-feature-list) 191(defvar elixir-ts--font-lock-feature-list)
diff --git a/lisp/progmodes/rust-ts-mode.el b/lisp/progmodes/rust-ts-mode.el
index beb27504cc7..9d2450baa90 100644
--- a/lisp/progmodes/rust-ts-mode.el
+++ b/lisp/progmodes/rust-ts-mode.el
@@ -44,7 +44,8 @@
44(add-to-list 44(add-to-list
45 'treesit-language-source-alist 45 'treesit-language-source-alist
46 `(rust "https://github.com/tree-sitter/tree-sitter-rust" 46 `(rust "https://github.com/tree-sitter/tree-sitter-rust"
47 ,(if (< (treesit-library-abi-version) 15) "v0.23.2" "v0.24.0")) 47 ,(when (treesit-available-p)
48 (if (< (treesit-library-abi-version) 15) "v0.23.2" "v0.24.0")))
48 t) 49 t)
49 50
50(defcustom rust-ts-mode-indent-offset 4 51(defcustom rust-ts-mode-indent-offset 4
diff --git a/lisp/treesit.el b/lisp/treesit.el
index b9441618024..6075e28e5cb 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -70,6 +70,9 @@ in a Emacs not built with tree-sitter library."
70 (declare-function treesit-language-available-p "treesit.c") 70 (declare-function treesit-language-available-p "treesit.c")
71 (declare-function treesit-language-version "treesit.c") 71 (declare-function treesit-language-version "treesit.c")
72 72
73 (declare-function treesit-language-abi-version "treesit.c")
74 (declare-function treesit-library-abi-version "treesit.c")
75
73 (declare-function treesit-parser-p "treesit.c") 76 (declare-function treesit-parser-p "treesit.c")
74 (declare-function treesit-node-p "treesit.c") 77 (declare-function treesit-node-p "treesit.c")
75 (declare-function treesit-compiled-query-p "treesit.c") 78 (declare-function treesit-compiled-query-p "treesit.c")