Misha Brukman | 55d2a1a | 2005-04-24 17:09:19 +0000 | [diff] [blame] | 1 | ;; LLVM coding style guidelines in emacs |
Reid Spencer | b7b8317 | 2006-03-14 06:05:05 +0000 | [diff] [blame] | 2 | ;; Maintainer: LLVM Team, http://llvm.org/ |
Misha Brukman | 55d2a1a | 2005-04-24 17:09:19 +0000 | [diff] [blame] | 3 | |
Andrew Savonichev | 47b5939 | 2018-08-02 08:50:41 +0000 | [diff] [blame] | 4 | (defun llvm-lineup-statement (langelem) |
| 5 | (let ((in-assign (c-lineup-assignments langelem))) |
| 6 | (if (not in-assign) |
| 7 | '++ |
| 8 | (aset in-assign 0 |
| 9 | (+ (aref in-assign 0) |
| 10 | (* 2 c-basic-offset))) |
| 11 | in-assign))) |
| 12 | |
Ramkumar Ramachandra | c429da8 | 2015-01-22 20:56:25 +0000 | [diff] [blame] | 13 | ;; Add a cc-mode style for editing LLVM C and C++ code |
Mike Stump | 675e754 | 2009-03-04 14:14:37 +0000 | [diff] [blame] | 14 | (c-add-style "llvm.org" |
Ramkumar Ramachandra | c429da8 | 2015-01-22 20:56:25 +0000 | [diff] [blame] | 15 | '("gnu" |
| 16 | (fill-column . 80) |
Mike Stump | 675e754 | 2009-03-04 14:14:37 +0000 | [diff] [blame] | 17 | (c++-indent-level . 2) |
| 18 | (c-basic-offset . 2) |
Daniel Dunbar | a02446a | 2009-07-28 17:34:57 +0000 | [diff] [blame] | 19 | (indent-tabs-mode . nil) |
Will Newton | f1f6524 | 2014-12-09 08:58:31 +0000 | [diff] [blame] | 20 | (c-offsets-alist . ((arglist-intro . ++) |
| 21 | (innamespace . 0) |
Andrew Savonichev | 47b5939 | 2018-08-02 08:50:41 +0000 | [diff] [blame] | 22 | (member-init-intro . ++) |
| 23 | (statement-cont . llvm-lineup-statement))))) |
Daniel Dunbar | a02446a | 2009-07-28 17:34:57 +0000 | [diff] [blame] | 24 | |
Will Newton | f1f6524 | 2014-12-09 08:58:31 +0000 | [diff] [blame] | 25 | ;; Files with "llvm" in their names will automatically be set to the |
| 26 | ;; llvm.org coding style. |
Ramkumar Ramachandra | c429da8 | 2015-01-22 20:56:25 +0000 | [diff] [blame] | 27 | (add-hook 'c-mode-common-hook |
Mike Stump | 675e754 | 2009-03-04 14:14:37 +0000 | [diff] [blame] | 28 | (function |
| 29 | (lambda nil |
| 30 | (if (string-match "llvm" buffer-file-name) |
| 31 | (progn |
Ramkumar Ramachandra | c429da8 | 2015-01-22 20:56:25 +0000 | [diff] [blame] | 32 | (c-set-style "llvm.org")))))) |