33 lines
958 B
EmacsLisp
33 lines
958 B
EmacsLisp
;; 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"
|
|
(fill-column . 80)
|
|
(c++-indent-level . 2)
|
|
(c-basic-offset . 2)
|
|
(indent-tabs-mode . nil)
|
|
(c-offsets-alist . ((arglist-intro . ++)
|
|
(innamespace . 0)
|
|
(member-init-intro . ++)
|
|
(statement-cont . llvm-lineup-statement)))))
|
|
|
|
;; Files with "llvm" in their names will automatically be set to the
|
|
;; llvm.org coding style.
|
|
(add-hook 'c-mode-common-hook
|
|
(function
|
|
(lambda nil
|
|
(if (string-match "llvm" buffer-file-name)
|
|
(progn
|
|
(c-set-style "llvm.org"))))))
|