@@ -119,6 +119,18 @@ double quotes on the third column."
119119 :safe #'booleanp
120120 :package-version '(clojure-ts-mode . " 0.2.3" ))
121121
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+
122134(defvar clojure-ts--debug nil
123135 " Enables debugging messages, shows current node in mode-line.
124136Only intended for use at development time." )
@@ -1087,13 +1099,24 @@ See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE."
10871099 (add-to-list 'auto-mode-alist '(" \\ .cljd\\ '" . clojure-ts-clojuredart-mode))
10881100 (add-to-list 'auto-mode-alist '(" \\ .jank\\ '" . clojure-ts-jank-mode)))
10891101
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+
10901114(if (treesit-available-p)
10911115 ; ; Redirect clojure-mode to clojure-ts-mode if clojure-mode is present
10921116 (if (require 'clojure-mode nil 'noerror )
10931117 (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))
10971120 (clojure-ts--register-novel-modes))
10981121 ; ; When Clojure-mode is not present, setup auto-modes ourselves
10991122 (progn
0 commit comments