【发布时间】:2018-03-26 19:32:17
【问题描述】:
模组注意事项:请注意,这个问题根本不是品味问题。我正在询问有关我在 Spacemacs 的 elisp 的默认缩进规则中遇到的缩进约定的具体信息。
为什么格式化程序会这样缩进这段代码:
(defun lispy--maybe-safe-delete-region (beg end)
"Delete the region from BEG to END.
If `lispy-safe-delete' is non-nil, exclude unmatched delimiters."
(if lispy-safe-delete
(let ((safe-regions (lispy--find-safe-regions beg end)))
(dolist (safe-region safe-regions)
(delete-region (car safe-region) (cdr safe-region)))
(test))
(delete-region beg end)
(test)))
不是这样的:
(defun lispy--maybe-safe-delete-region (beg end)
"Delete the region from BEG to END.
If `lispy-safe-delete' is non-nil, exclude unmatched delimiters."
(if lispy-safe-delete
(let ((safe-regions (lispy--find-safe-regions beg end)))
(dolist (safe-region safe-regions)
(delete-region (car safe-region) (cdr safe-region)))
(test))
(delete-region beg end)
(test)))
如您所见,默认格式没有将if sexp 的子级缩进同一级别。我不明白它的运行规则,因为let sexp 的子级是在同一级别缩进的。
【问题讨论】:
-
Vim 缩进为第二个 sn-p。
-
@EugeneSh。越来越好奇。
标签: emacs lisp indentation