Skip to content

Commit 7b7a470

Browse files
authored
Merge pull request #40 from p4v4n/treesitter-check
Check for tree-sitter before activating clojure-ts-mode
2 parents 649bf11 + 3c0f8be commit 7b7a470

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

clojure-ts-mode.el

+24-21
Original file line numberDiff line numberDiff line change
@@ -994,27 +994,30 @@ See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE."
994994
(add-to-list 'auto-mode-alist '("\\.cljd\\'" . clojure-ts-clojuredart-mode))
995995
(add-to-list 'auto-mode-alist '("\\.jank\\'" . clojure-ts-jank-mode)))
996996

997-
;; Redirect clojure-mode to clojure-ts-mode if clojure-mode is present
998-
(if (require 'clojure-mode nil 'noerror)
999-
(progn
1000-
(add-to-list 'major-mode-remap-alist '(clojure-mode . clojure-ts-mode))
1001-
(add-to-list 'major-mode-remap-alist '(clojurescript-mode . clojure-ts-clojurescript-mode))
1002-
(add-to-list 'major-mode-remap-alist '(clojurec-mode . clojure-ts-clojurec-mode))
1003-
(clojure-ts--register-novel-modes))
1004-
;; Clojure-mode is not present, setup auto-modes ourselves
1005-
;; Regular clojure/edn files
1006-
;; I believe dtm is for datomic queries and datoms, which are just edn.
1007-
(add-to-list 'auto-mode-alist
1008-
'("\\.\\(clj\\|dtm\\|edn\\)\\'" . clojure-ts-mode))
1009-
(add-to-list 'auto-mode-alist '("\\.cljs\\'" . clojure-ts-clojurescript-mode))
1010-
(add-to-list 'auto-mode-alist '("\\.cljc\\'" . clojure-ts-clojurec-mode))
1011-
;; boot build scripts are Clojure source files
1012-
(add-to-list 'auto-mode-alist '("\\(?:build\\|profile\\)\\.boot\\'" . clojure-ts-mode))
1013-
;; babashka scripts are Clojure source files
1014-
(add-to-list 'interpreter-mode-alist '("bb" . clojure-ts-mode))
1015-
;; nbb scripts are ClojureScript source files
1016-
(add-to-list 'interpreter-mode-alist '("nbb" . clojure-ts-clojurescript-mode))
1017-
(clojure-ts--register-novel-modes))
997+
(if (treesit-available-p)
998+
;; Redirect clojure-mode to clojure-ts-mode if clojure-mode is present
999+
(if (require 'clojure-mode nil 'noerror)
1000+
(progn
1001+
(add-to-list 'major-mode-remap-alist '(clojure-mode . clojure-ts-mode))
1002+
(add-to-list 'major-mode-remap-alist '(clojurescript-mode . clojure-ts-clojurescript-mode))
1003+
(add-to-list 'major-mode-remap-alist '(clojurec-mode . clojure-ts-clojurec-mode))
1004+
(clojure-ts--register-novel-modes))
1005+
;; When Clojure-mode is not present, setup auto-modes ourselves
1006+
(progn
1007+
;; Regular clojure/edn files
1008+
;; I believe dtm is for datomic queries and datoms, which are just edn.
1009+
(add-to-list 'auto-mode-alist
1010+
'("\\.\\(clj\\|dtm\\|edn\\)\\'" . clojure-ts-mode))
1011+
(add-to-list 'auto-mode-alist '("\\.cljs\\'" . clojure-ts-clojurescript-mode))
1012+
(add-to-list 'auto-mode-alist '("\\.cljc\\'" . clojure-ts-clojurec-mode))
1013+
;; boot build scripts are Clojure source files
1014+
(add-to-list 'auto-mode-alist '("\\(?:build\\|profile\\)\\.boot\\'" . clojure-ts-mode))
1015+
;; babashka scripts are Clojure source files
1016+
(add-to-list 'interpreter-mode-alist '("bb" . clojure-ts-mode))
1017+
;; nbb scripts are ClojureScript source files
1018+
(add-to-list 'interpreter-mode-alist '("nbb" . clojure-ts-clojurescript-mode))
1019+
(clojure-ts--register-novel-modes)))
1020+
(message "Clojure TS Mode will not be activated as tree-sitter support is missing."))
10181021

10191022
(defvar clojure-ts--find-ns-query
10201023
(treesit-query-compile

0 commit comments

Comments
 (0)