summary refs log tree commit diff stats
path: root/lisp/+paredit.el
diff options
context:
space:
mode:
authorCase Duckworth2023-01-03 23:03:03 -0600
committerCase Duckworth2023-01-03 23:03:03 -0600
commit59a1f58695d09ab29ddf992b2c0711c94a4039ea (patch)
tree1de8114d3b60d11b9a3b92422d178f17e1841ea0 /lisp/+paredit.el
parentbleh (diff)
downloademacs-59a1f58695d09ab29ddf992b2c0711c94a4039ea.tar.gz
emacs-59a1f58695d09ab29ddf992b2c0711c94a4039ea.zip
Switch to use-package
Diffstat (limited to 'lisp/+paredit.el')
-rw-r--r--lisp/+paredit.el26
1 files changed, 26 insertions, 0 deletions
diff --git a/lisp/+paredit.el b/lisp/+paredit.el new file mode 100644 index 0000000..ab176b8 --- /dev/null +++ b/lisp/+paredit.el
@@ -0,0 +1,26 @@
1;;; +paredit.el -*- lexical-binding: t -*-
2
3;;; Fixing unquote-splicing behaviour with Paredit
4;; https://www.n16f.net/blog/fixing-unquote-splicing-behaviour-with-paredit/
5
6(require 'paredit)
7(require 'seq)
8
9(defcustom +paredit-no-space-prefixes '(",@")
10 "Prefix strings to not insert a space after in `paredit'."
11 :group 'paredit
12 :type '(repeat string))
13
14(defun +paredit-space-for-delimiter (endp delimiter)
15 (let ((point (point)))
16 (or endp
17 (seq-every-p
18 (lambda (prefix)
19 (and (> point (length prefix))
20 (let ((start (- point (length prefix)))
21 (end point))
22 (not (string= (buffer-substring start end) prefix)))))
23 +paredit-no-space-prefixes))))
24
25(provide '+paredit)
26;;; +paredit.el ends here