Skip to content

Commit 7543284

Browse files
committed
Use major-mode-remap-defaults instead of major-mode-remap-alist
major-mode-remap-alist is meant to be configured by the end users, and major-mode-remap-defaults is meant to be configured from Elisp code (e.g. major modes).
1 parent f5f377a commit 7543284

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

clojure-ts-mode.el

+16-8
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ double quotes on the third column."
129129
'((clojure-mode . clojure-ts-mode)
130130
(clojurescript-mode . clojure-ts-clojurescript-mode)
131131
(clojurec-mode . clojure-ts-clojurec-mode))
132-
"Alist of entries to `major-mode-remap-alist'.")
132+
"Alist of entries to `major-mode-remap-defaults'.
133+
134+
See also `clojure-ts-activate-mode-remappings' and
135+
`clojure-ts-definition-docstring-symbols'.")
133136

134137
(defvar clojure-ts--debug nil
135138
"Enables debugging messages, shows current node in mode-line.
@@ -1099,24 +1102,29 @@ See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE."
10991102
(add-to-list 'auto-mode-alist '("\\.cljd\\'" . clojure-ts-clojuredart-mode))
11001103
(add-to-list 'auto-mode-alist '("\\.jank\\'" . clojure-ts-jank-mode)))
11011104

1102-
(defun clojure-ts-activate ()
1103-
"Redirect all `clojure-mode' buffers to use `clojure-ts-mode'."
1105+
(defun clojure-ts-activate-mode-remappings ()
1106+
"Remap all `clojure-mode' file-specified modes to use `clojure-ts-mode'.
1107+
1108+
Useful if you want to try out `clojure-ts-mode' without having to manually
1109+
update the mode mappings."
11041110
(interactive)
11051111
(dolist (entry clojure-ts-mode-remappings)
1106-
(add-to-list 'major-mode-remap-alist entry)))
1112+
(add-to-list 'major-mode-remap-defaults entry)))
1113+
1114+
(defun clojure-ts-deactivate-mode-remappings ()
1115+
"Undo `clojure-ts-mode' file-specified mode remappings.
11071116
1108-
(defun clojure-ts-deactivate ()
1109-
"Revert the redirecting of of `clojure-mode' buffers to `clojure-ts-mode'."
1117+
Useful if you want to switch to the `clojure-mode's mode mappings."
11101118
(interactive)
11111119
(dolist (entry clojure-ts-mode-remappings)
1112-
(setq major-mode-remap-alist (remove entry major-mode-remap-alist))))
1120+
(setq major-mode-remap-defaults (remove entry major-mode-remap-defaults))))
11131121

11141122
(if (treesit-available-p)
11151123
;; Redirect clojure-mode to clojure-ts-mode if clojure-mode is present
11161124
(if (require 'clojure-mode nil 'noerror)
11171125
(progn
11181126
(when clojure-ts-auto-remap
1119-
(clojure-ts-activate))
1127+
(clojure-ts-activate-mode-remappings))
11201128
(clojure-ts--register-novel-modes))
11211129
;; When Clojure-mode is not present, setup auto-modes ourselves
11221130
(progn

0 commit comments

Comments
 (0)