emacs.el 958 B

1234567891011121314151617181920212223242526272829303132
  1. ;; LLVM coding style guidelines in emacs
  2. ;; Maintainer: LLVM Team, http://llvm.org/
  3. (defun llvm-lineup-statement (langelem)
  4. (let ((in-assign (c-lineup-assignments langelem)))
  5. (if (not in-assign)
  6. '++
  7. (aset in-assign 0
  8. (+ (aref in-assign 0)
  9. (* 2 c-basic-offset)))
  10. in-assign)))
  11. ;; Add a cc-mode style for editing LLVM C and C++ code
  12. (c-add-style "llvm.org"
  13. '("gnu"
  14. (fill-column . 80)
  15. (c++-indent-level . 2)
  16. (c-basic-offset . 2)
  17. (indent-tabs-mode . nil)
  18. (c-offsets-alist . ((arglist-intro . ++)
  19. (innamespace . 0)
  20. (member-init-intro . ++)
  21. (statement-cont . llvm-lineup-statement)))))
  22. ;; Files with "llvm" in their names will automatically be set to the
  23. ;; llvm.org coding style.
  24. (add-hook 'c-mode-common-hook
  25. (function
  26. (lambda nil
  27. (if (string-match "llvm" buffer-file-name)
  28. (progn
  29. (c-set-style "llvm.org"))))))