Skip to content

Commit e895741

Browse files
committed
[Fix clojure-emacs#615] Support clojure-dart files
1 parent 8aa857d commit e895741

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## master (unreleased)
44

5+
### Changes
6+
7+
* [#615](https://github.com/clojure-emacs/clojure-mode/issues/615): Support clojure-dart files.
8+
59
## 5.14.0 (2022-03-07)
610

711
### New features

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ The `clojure-mode` package actually bundles together several major modes:
5050
* `clojure-mode` is a major mode for editing Clojure code
5151
* `clojurescript-mode` is a major mode for editing ClojureScript code
5252
* `clojurec-mode` is a major mode for editing `.cljc` source files
53+
* `clojuredart-mode` is a major mode for editing `.cljd` source files
5354

5455
All the major modes derive from `clojure-mode` and provide more or less the same
5556
functionality. Differences can be found mostly in the font-locking -

clojure-mode.el

+12-2
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ Out-of-the box `clojure-mode' understands lein, boot, gradle,
200200
(cl-every 'stringp value))))
201201

202202
(defcustom clojure-directory-prefixes
203-
'("\\`clj[scx]?\\.")
203+
'("\\`clj[scxd]?\\.")
204204
"A list of directory prefixes used by `clojure-expected-ns'.
205205
The prefixes are used to generate the correct namespace."
206206
:type '(repeat string)
@@ -605,7 +605,10 @@ non-nil."
605605
'clojurescript-mode)
606606
((and (string-match "\\.cljc\\'" (buffer-file-name))
607607
(not (eq major-mode 'clojurec-mode)))
608-
'clojurec-mode))))
608+
'clojurec-mode)
609+
((and (string-match "\\.cljd\\'" (buffer-file-name))
610+
(not (eq major-mode 'clojuredart-mode)))
611+
'clojuredart-mode))))
609612
(when problem
610613
(message "[WARNING] %s activated `%s' instead of `%s' in this buffer.
611614
This could cause problems.
@@ -3067,12 +3070,19 @@ With universal argument \\[universal-argument], act on the \"top-level\" form."
30673070
30683071
\\{clojurec-mode-map}")
30693072

3073+
;;;###autoload
3074+
(define-derived-mode clojuredart-mode clojure-mode "ClojureDart"
3075+
"Major mode for editing ClojureDart code.
3076+
3077+
\\{clojuredart-mode-map}")
3078+
30703079
;;;###autoload
30713080
(progn
30723081
(add-to-list 'auto-mode-alist
30733082
'("\\.\\(clj\\|dtm\\|edn\\)\\'" . clojure-mode))
30743083
(add-to-list 'auto-mode-alist '("\\.cljc\\'" . clojurec-mode))
30753084
(add-to-list 'auto-mode-alist '("\\.cljs\\'" . clojurescript-mode))
3085+
(add-to-list 'auto-mode-alist '("\\.cljd\\'" . clojuredart-mode))
30763086
;; boot build scripts are Clojure source files
30773087
(add-to-list 'auto-mode-alist '("\\(?:build\\|profile\\)\\.boot\\'" . clojure-mode))
30783088
;; babashka scripts are Clojure source files

0 commit comments

Comments
 (0)