emacs - 缩进深度嵌套的函数调用

标签 emacs c-mode

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

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

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

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

最佳答案

这里有一个解决方案:

(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")

关于emacs - 缩进深度嵌套的函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23740024/

相关文章:

Emacs c-mode fill-paragraph with Doxygen

emacs - 在 emacs 组织模式下不压缩多个空格的 html 导出选项

emacs - Emacs 中 SE 的 OAuth 工作流程

emacs - Emacs主题定义中,为什么会有(t ( :background "black"))

emacs - 是否可以降级使用 ELPA 安装的软件包?

emacs - SLIME:如何使用 repl 的结果作为纯文本?

Emacs C 模式自动缩进在预处理器宏后失败

emacs - 如何在emacs中选择(标记)C函数的主体?