branch: elpa/clojure-ts-mode
commit 7543284987889e410e27ea3af8254a2150cf1783
Author: Bozhidar Batsov <[email protected]>
Commit: Bozhidar Batsov <[email protected]>
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).
---
clojure-ts-mode.el | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el
index ac89814d4a..a5e24f08fe 100644
--- a/clojure-ts-mode.el
+++ b/clojure-ts-mode.el
@@ -129,7 +129,10 @@ double quotes on the third column."
'((clojure-mode . clojure-ts-mode)
(clojurescript-mode . clojure-ts-clojurescript-mode)
(clojurec-mode . clojure-ts-clojurec-mode))
- "Alist of entries to `major-mode-remap-alist'.")
+ "Alist of entries to `major-mode-remap-defaults'.
+
+See also `clojure-ts-activate-mode-remappings' and
+`clojure-ts-definition-docstring-symbols'.")
(defvar clojure-ts--debug nil
"Enables debugging messages, shows current node in mode-line.
@@ -1099,24 +1102,29 @@ See `clojure-ts--font-lock-settings' for usage of
MARKDOWN-AVAILABLE."
(add-to-list 'auto-mode-alist '("\\.cljd\\'" . clojure-ts-clojuredart-mode))
(add-to-list 'auto-mode-alist '("\\.jank\\'" . clojure-ts-jank-mode)))
-(defun clojure-ts-activate ()
- "Redirect all `clojure-mode' buffers to use `clojure-ts-mode'."
+(defun clojure-ts-activate-mode-remappings ()
+ "Remap all `clojure-mode' file-specified modes to use `clojure-ts-mode'.
+
+Useful if you want to try out `clojure-ts-mode' without having to manually
+update the mode mappings."
(interactive)
(dolist (entry clojure-ts-mode-remappings)
- (add-to-list 'major-mode-remap-alist entry)))
+ (add-to-list 'major-mode-remap-defaults entry)))
+
+(defun clojure-ts-deactivate-mode-remappings ()
+ "Undo `clojure-ts-mode' file-specified mode remappings.
-(defun clojure-ts-deactivate ()
- "Revert the redirecting of of `clojure-mode' buffers to `clojure-ts-mode'."
+Useful if you want to switch to the `clojure-mode's mode mappings."
(interactive)
(dolist (entry clojure-ts-mode-remappings)
- (setq major-mode-remap-alist (remove entry major-mode-remap-alist))))
+ (setq major-mode-remap-defaults (remove entry major-mode-remap-defaults))))
(if (treesit-available-p)
;; Redirect clojure-mode to clojure-ts-mode if clojure-mode is present
(if (require 'clojure-mode nil 'noerror)
(progn
(when clojure-ts-auto-remap
- (clojure-ts-activate))
+ (clojure-ts-activate-mode-remappings))
(clojure-ts--register-novel-modes))
;; When Clojure-mode is not present, setup auto-modes ourselves
(progn