@@ -119,6 +119,18 @@ double quotes on the third column."
119
119
:safe #'booleanp
120
120
:package-version '(clojure-ts-mode . " 0.2.3" ))
121
121
122
+ (defcustom clojure-ts-auto-redirect t
123
+ " When non-nil, redirect all `clojure-mode' buffers to `clojure-ts-mode' ."
124
+ :safe #'booleanp
125
+ :type 'boolean
126
+ :package-version '(clojure-ts-mode . " 0.2.4" ))
127
+
128
+ (defvar clojure-ts-mode-remappings
129
+ '((clojure-mode . clojure-ts-mode)
130
+ (clojurescript-mode . clojure-ts-clojurescript-mode)
131
+ (clojurec-mode . clojure-ts-clojurec-mode))
132
+ " Alist of entries to `major-mode-remap-alist' ." )
133
+
122
134
(defvar clojure-ts--debug nil
123
135
" Enables debugging messages, shows current node in mode-line.
124
136
Only intended for use at development time." )
@@ -1087,13 +1099,24 @@ See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE."
1087
1099
(add-to-list 'auto-mode-alist '(" \\ .cljd\\ '" . clojure-ts-clojuredart-mode))
1088
1100
(add-to-list 'auto-mode-alist '(" \\ .jank\\ '" . clojure-ts-jank-mode)))
1089
1101
1102
+ (defun clojure-ts-activate ()
1103
+ " Redirect all `clojure-mode' buffers to use `clojure-ts-mode' ."
1104
+ (interactive )
1105
+ (dolist (entry clojure-ts-mode-remappings)
1106
+ (add-to-list 'major-mode-remap-alist entry)))
1107
+
1108
+ (defun clojure-ts-deactivate ()
1109
+ " Revert the redirecting of of `clojure-mode' buffers to `clojure-ts-mode' ."
1110
+ (interactive )
1111
+ (dolist (entry clojure-ts-mode-remappings)
1112
+ (setq major-mode-remap-alist (remove entry major-mode-remap-alist))))
1113
+
1090
1114
(if (treesit-available-p)
1091
1115
; ; Redirect clojure-mode to clojure-ts-mode if clojure-mode is present
1092
1116
(if (require 'clojure-mode nil 'noerror )
1093
1117
(progn
1094
- (add-to-list 'major-mode-remap-alist '(clojure-mode . clojure-ts-mode))
1095
- (add-to-list 'major-mode-remap-alist '(clojurescript-mode . clojure-ts-clojurescript-mode))
1096
- (add-to-list 'major-mode-remap-alist '(clojurec-mode . clojure-ts-clojurec-mode))
1118
+ (when clojure-ts-auto-redirect
1119
+ (clojure-ts-activate))
1097
1120
(clojure-ts--register-novel-modes))
1098
1121
; ; When Clojure-mode is not present, setup auto-modes ourselves
1099
1122
(progn
0 commit comments