Отступать глубоко вложенные вызовы функций

Я хотел бы, чтобы 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")
Другие вопросы по тегам