branch: elpa/clojure-ts-mode
commit a9e2ca729e4f743698cc1125944126fa2d2170d5
Author: Bozhidar Batsov <bozhi...@batsov.dev>
Commit: Bozhidar Batsov <bozhi...@batsov.dev>

    Add clojure-ts-joker-mode
---
 CHANGELOG.md       |  2 ++
 clojure-ts-mode.el | 15 ++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e762aaa04..369b28e9c3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## main (unreleased)
 
+- Add a dedicated mode for editing Joker code. (`clojure-ts-joker-mode`)
+
 ## 0.5.1 (2025-06-17)
 
 - [#109](https://github.com/clojure-emacs/clojure-ts-mode/issues/109): Improve 
performance by pre-compiling Tree-sitter queries.
diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el
index 6c2c1e390c..ca3f9a77d0 100644
--- a/clojure-ts-mode.el
+++ b/clojure-ts-mode.el
@@ -271,7 +271,8 @@ values like this:
     (clojurescript-mode . clojure-ts-clojurescript-mode)
     (clojurec-mode . clojure-ts-clojurec-mode)
     (clojuredart-mode . clojure-ts-clojuredart-mode)
-    (jank-mode . clojure-ts-jank-mode))
+    (jank-mode . clojure-ts-jank-mode)
+    (joker-mode . clojure-ts-joker-mode))
   "Alist of entries to `major-mode-remap-defaults'.
 
 See also `clojure-ts-activate-mode-remappings' and
@@ -2719,6 +2720,11 @@ all let bindings found along the way."
     (set-keymap-parent map clojure-ts-mode-map)
     map))
 
+(defvar clojure-ts-joker-mode-map
+  (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map clojure-ts-mode-map)
+    map))
+
 (defun clojure-ts-mode-display-version ()
   "Display the current `clojure-mode-version' in the minibuffer."
   (interactive)
@@ -2972,6 +2978,12 @@ REGEX-AVAILABLE."
     (clojure-ts--add-config-for-mode 'c++-ts-mode)
     (treesit-major-mode-setup)))
 
+;;;###autoload
+(define-derived-mode clojure-ts-joker-mode clojure-ts-mode "Joker[TS]"
+  "Major mode for editing Joker code.
+
+\\{clojure-ts-joker-mode-map}")
+
 (defun clojure-ts-activate-mode-remappings ()
   "Remap all `clojure-mode' file-specified modes to use `clojure-ts-mode'.
 
@@ -3004,6 +3016,7 @@ Useful if you want to switch to the `clojure-mode's mode 
mappings."
         (add-to-list 'auto-mode-alist '("\\.cljc\\'" . 
clojure-ts-clojurec-mode))
         (add-to-list 'auto-mode-alist '("\\.cljd\\'" . 
clojure-ts-clojuredart-mode))
         (add-to-list 'auto-mode-alist '("\\.jank\\'" . clojure-ts-jank-mode))
+        (add-to-list 'auto-mode-alist '("\\.joke\\'" . clojure-ts-joker-mode))
         ;; boot build scripts are Clojure source files
         (add-to-list 'auto-mode-alist '("\\(?:build\\|profile\\)\\.boot\\'" . 
clojure-ts-mode))
         ;; babashka scripts are Clojure source files

Reply via email to