Отступать глубоко вложенные вызовы функций
Я хотел бы, чтобы emacs делал отступ для моего кода на c/ C++ следующим образом:
auto LoopMatcher = forStmt(hasLoopInit(declStmt(hasSingleDecl(varDecl(
hasInitializer(integerLiteral(equals(0)))))))).bind("forLoop");
(код взят из учебника Clang по AST matcher).
Другими словами, я хочу, чтобы emacs делал отступ по умолчанию после одной или нескольких открытых скобок.
1 ответ
Решение
Здесь у вас есть решение для этого:
(defun custom-indent (langelem)
(save-excursion
(goto-char (cdr langelem))
(vector (+ (current-column) c-basic-offset))))
(c-add-style "custom" '((c-offsets-alist . ((arglist-intro . custom-indent)))))
(c-set-style "custom")