Ver código fonte

[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338686 91177308-0d34-0410-b5e6-96231b3b80d8
Andrew Savonichev 7 anos atrás
pai
commit
47b593936e
1 arquivos alterados com 11 adições e 1 exclusões
  1. 11 1
      utils/emacs/emacs.el

+ 11 - 1
utils/emacs/emacs.el

@@ -1,6 +1,15 @@
 ;; LLVM coding style guidelines in emacs
 ;; LLVM coding style guidelines in emacs
 ;; Maintainer: LLVM Team, http://llvm.org/
 ;; 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
 ;; Add a cc-mode style for editing LLVM C and C++ code
 (c-add-style "llvm.org"
 (c-add-style "llvm.org"
              '("gnu"
              '("gnu"
@@ -10,7 +19,8 @@
 	       (indent-tabs-mode . nil)
 	       (indent-tabs-mode . nil)
 	       (c-offsets-alist . ((arglist-intro . ++)
 	       (c-offsets-alist . ((arglist-intro . ++)
 				   (innamespace . 0)
 				   (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
 ;; Files with "llvm" in their names will automatically be set to the
 ;; llvm.org coding style.
 ;; llvm.org coding style.