From c0f1a2b3f660a0b32183cf1bd85860adb8c38b6e Mon Sep 17 00:00:00 2001 From: Andrew Savonichev Date: Thu, 2 Aug 2018 08:50:41 +0000 Subject: [PATCH] [emacs] Indent statement continuation to match clang-format Summary: Was: int LongVariableName = veryLongFunctionNameThatExceeds80ColumnsRule(SomeParameter); int ShortVar = veryLongFunctionNameThatStillFitsIntoOneLine(SomeParameter) .nowThisDoesntFit() .andThis() Now: int LongVariableName = veryLongFunctionNameThatExceeds80ColumnsRule(SomeParameter); int ShortVar = veryLongFunctionNameThatStillFitsIntoOneLine(SomeParameter) .nowThisDoesntFit() .andThis() Reviewers: espindola, MaskRay Reviewed By: MaskRay Subscribers: greened, llvm-commits Differential Revision: https://reviews.llvm.org/D49726 llvm-svn: 338686 --- utils/emacs/emacs.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/utils/emacs/emacs.el b/utils/emacs/emacs.el index 4a3a5031026..3a2b47cee1d 100644 --- a/utils/emacs/emacs.el +++ b/utils/emacs/emacs.el @@ -1,6 +1,15 @@ ;; LLVM coding style guidelines in emacs ;; Maintainer: LLVM Team, http://llvm.org/ +(defun llvm-lineup-statement (langelem) + (let ((in-assign (c-lineup-assignments langelem))) + (if (not in-assign) + '++ + (aset in-assign 0 + (+ (aref in-assign 0) + (* 2 c-basic-offset))) + in-assign))) + ;; Add a cc-mode style for editing LLVM C and C++ code (c-add-style "llvm.org" '("gnu" @@ -10,7 +19,8 @@ (indent-tabs-mode . nil) (c-offsets-alist . ((arglist-intro . ++) (innamespace . 0) - (member-init-intro . ++))))) + (member-init-intro . ++) + (statement-cont . llvm-lineup-statement))))) ;; Files with "llvm" in their names will automatically be set to the ;; llvm.org coding style.