Skip to content

Commit 20356bc

Browse files
committed
[Fix #288] Derive major modes for ClojureScript, ClojureC and ClojureX
1 parent aab633f commit 20356bc

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
* [#302](https://github.com/clojure-emacs/clojure-mode/pull/302): Add new sexp navigation commands. `clojure-forward-logical-sexp` and `clojure-backward-logical-sexp` consider `^hints` and `#reader.macros` to be part of the sexp that follows them.
88
* [#303](https://github.com/clojure-emacs/clojure-mode/issues/303): Handle `boot` projects in `clojure-expected-ns`.
9+
* Added dedicated modes for ClojureScript, ClojureC and ClojureX. All of them are derived from `clojure-mode`.
910

1011
## 4.1.0 (20/06/2015)
1112

clojure-mode.el

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1086,11 +1086,31 @@ This will skip over sexps that don't represent objects, so that ^hints and
10861086
(backward-sexp 1))
10871087
(setq n (1- n)))))
10881088

1089+
;;;###autoload
1090+
(define-derived-mode clojurescript-mode clojure-mode "ClojureScript"
1091+
"Major mode for editing ClojureScript code.
1092+
1093+
\\{clojurescript-mode-map}")
1094+
1095+
;;;###autoload
1096+
(define-derived-mode clojurec-mode clojure-mode "ClojureC"
1097+
"Major mode for editing ClojureC code.
1098+
1099+
\\{clojurec-mode-map}")
1100+
1101+
;;;###autoload
1102+
(define-derived-mode clojurex-mode clojure-mode "ClojureX"
1103+
"Major mode for editing ClojureX code.
1104+
1105+
\\{clojurex-mode-map}")
10891106

10901107
;;;###autoload
10911108
(progn
10921109
(add-to-list 'auto-mode-alist
1093-
'("\\.\\(clj[csx]?\\|dtm\\|edn\\)\\'" . clojure-mode))
1110+
'("\\.\\(clj\\|dtm\\|edn\\)\\'" . clojure-mode))
1111+
(add-to-list 'auto-mode-alist '("\\.cljc\\'" . clojurec-mode))
1112+
(add-to-list 'auto-mode-alist '("\\.cljx\\'" . clojurex-mode))
1113+
(add-to-list 'auto-mode-alist '("\\.cljs\\'" . clojurescript-mode))
10941114
;; boot build scripts are Clojure source files
10951115
(add-to-list 'auto-mode-alist '("\\(?:build\\|profile\\)\\.boot\\'" . clojure-mode)))
10961116

0 commit comments

Comments
 (0)