缩进深度嵌套的函数调用

时间:2014-05-19 14:11:41

标签: emacs c-mode

我希望emacs能像这样缩进我的c / c ++代码:

auto LoopMatcher = forStmt(hasLoopInit(declStmt(hasSingleDecl(varDecl(
    hasInitializer(integerLiteral(equals(0)))))))).bind("forLoop");

(代码取自clang的AST匹配器教程)。

换句话说,我希望emacs在一个或多个打开括号后按默认偏移量缩进。

1 个答案:

答案 0 :(得分: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")