Skip to content

Commit 8699952

Browse files
committed
Makes paredit not insert space after '#' in '#(' '#{' and '#"'.
1 parent f6b01fc commit 8699952

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

clojure-mode.el

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,22 @@ numbers count from the end:
401401
(defalias 'clojure-parent-mode
402402
(if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
403403

404+
(defun clojure-space-for-delimiter-p (endp delim)
405+
(if (eq major-mode 'clojure-mode)
406+
(save-excursion
407+
(backward-char)
408+
(if (and (or (char-equal delim ?\()
409+
(char-equal delim ?\")
410+
(char-equal delim ?{))
411+
(not endp))
412+
(if (char-equal (char-after) ?#)
413+
(and (not (bobp))
414+
(or (char-equal ?w (char-syntax (char-before)))
415+
(char-equal ?_ (char-syntax (char-before)))))
416+
t)
417+
t))
418+
t))
419+
404420
;;;###autoload
405421
(define-derived-mode clojure-mode clojure-parent-mode "Clojure"
406422
"Major mode for editing Clojure code - similar to Lisp mode.
@@ -435,7 +451,9 @@ if that value is non-nil."
435451
(lambda ()
436452
(when (>= paredit-version 21)
437453
(define-key clojure-mode-map "{" 'paredit-open-curly)
438-
(define-key clojure-mode-map "}" 'paredit-close-curly)))))
454+
(define-key clojure-mode-map "}" 'paredit-close-curly)
455+
(add-to-list 'paredit-space-for-delimiter-predicates
456+
'clojure-space-for-delimiter-p)))))
439457

440458
(defun clojure-display-inferior-lisp-buffer ()
441459
"Display a buffer bound to `inferior-lisp-buffer'."

0 commit comments

Comments
 (0)