在使用时,我经常遇到如下情况: paredit ,点在 | 在下面的片段中,我想关闭悬垂的paren,例如。
paredit
|
(let ((foo 1)| ; blag ) nil)
变成
(let ((foo 1)) ; blag nil)
后型 ) 又称作 paredit-close-parenthesis 此时此刻。
)
paredit-close-parenthesis
如果评论不在网上, 帕雷迪特 将关闭paren并移除空间。有没有人有一个很好的方法来启用这个功能?
帕雷迪特
看看代码, 帕雷迪特 似乎可以在我可以添加处理程序的地方捕获错误,所以我想知道是否有一个简单的解决方案。
我想到目前为止,推翻它似乎是可行的。
(defun my-paredit-close-round (&optional arg) (interactive "P") (if arg (paredit-close-round) (let ((beg (point)) ;keep comment on same line (cmt (paredit-find-comment-on-line))) (paredit-move-past-close ?\)) (and cmt (save-excursion (unless (eq (line-number-at-pos) (line-number-at-pos beg)) (goto-char beg)) (insert (car cmt))))))) (advice-add 'paredit-close-round :override #'my-paredit-close-round)
然而 paredit-backward-barf-sexp 仍然会被评论卡住,也需要被覆盖。
paredit-backward-barf-sexp