3

次のように emacs に私の c/c++ コードをインデントさせたいと思います:

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

(clang の AST マッチャー チュートリアルから取られたコード)。

言い換えれば、emacs が 1 つ以上の開き括弧の後にデフォルトのオフセットだけインデントするようにしたいのです。

4

1 に答える 1

2

ここにその解決策があります:

(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")
于 2014-05-19T15:44:18.033 に答える