Skip to content

Commit 7d3df43

Browse files
authored
Merge pull request #692 from clojure-emacs/add-clojure-discard-face
Add clojure-discard-face for #_ reader macro
2 parents 500fa26 + bacfbf5 commit 7d3df43

3 files changed

Lines changed: 18 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## master (unreleased)
44

5+
### New features
6+
7+
* [#688](https://github.com/clojure-emacs/clojure-mode/issues/688): Add `clojure-discard-face` for `#_` reader discard forms, allowing them to be styled differently from comments. Inherits from `font-lock-comment-face` by default.
8+
59
### Changes
610

711
* Update font-locking of built-in dynamic vars for Clojure 1.12.

clojure-mode.el

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@
9191
"Face used to font-lock Clojure keywords (:something)."
9292
:package-version '(clojure-mode . "3.0.0"))
9393

94+
(defface clojure-discard-face
95+
'((t (:inherit font-lock-comment-face)))
96+
"Face used to font-lock forms discarded by Clojure's #_ reader macro."
97+
:package-version '(clojure-mode . "5.22.0"))
98+
9499
(defface clojure-character-face
95100
'((t (:inherit font-lock-string-face)))
96101
"Face used to font-lock Clojure character literals."
@@ -1153,7 +1158,10 @@ any number of matches of `clojure--sym-forbidden-rest-chars'."))
11531158
(1 nil))
11541159

11551160
;; #_ and (comment ...) macros.
1156-
(clojure--search-comment-macro 1 font-lock-comment-face t)
1161+
(clojure--search-comment-macro
1162+
1 (if (eq (char-after (match-beginning 0)) ?#)
1163+
'clojure-discard-face font-lock-comment-face)
1164+
t)
11571165
;; Highlight `code` marks, just like `elisp'.
11581166
(,(rx "`" (group-n 1 (optional "#'")
11591167
(+ (or (syntax symbol) (syntax word)))) "`")

test/clojure-mode-font-lock-test.el

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,19 +138,19 @@ DESCRIPTION is the description of the spec."
138138
(1 2 nil))
139139

140140
("#_#_"
141-
(3 2 font-lock-comment-face))
141+
(3 2 clojure-discard-face))
142142

143143
("#_ #_"
144144
(1 3 nil))
145145

146146
("#_ #_"
147-
(4 2 font-lock-comment-face))
147+
(4 2 clojure-discard-face))
148148

149149
("#_ \n;; some crap\n (lala 0101\n lao\n\n 0 0i)"
150150
(1 2 nil))
151151

152152
("#_ \n;; some crap\n (lala 0101\n lao\n\n 0 0i)"
153-
(5 41 font-lock-comment-face))
153+
(5 41 clojure-discard-face))
154154

155155
("#_#_ \n;; some crap\n (lala 0101\n lao\n\n 0 0i)\n;; more crap\n (foobar tnseriao)"
156156
(1 4 nil))
@@ -159,10 +159,10 @@ DESCRIPTION is the description of the spec."
159159
(1 5 nil))
160160

161161
("#_#_ \n;; some crap\n (lala 0101\n lao\n\n 0 0i)\n;; more crap\n (foobar tnseriao)"
162-
(7 75 font-lock-comment-face))
162+
(7 75 clojure-discard-face))
163163

164164
("#_ #_ \n;; some crap\n (lala 0101\n lao\n\n 0 0i)\n;; more crap\n (foobar tnseriao)"
165-
(8 75 font-lock-comment-face)))
165+
(8 75 clojure-discard-face)))
166166

167167
(when-fontifying-it "should handle namespace declarations"
168168
("(ns .validns)"

0 commit comments

Comments
 (0)