Commit f349cc37 authored by paulhoad's avatar paulhoad
Browse files

clang-format: Add a fallback style to Emacs mode

Summary:
This allows one to enable `clang-format-buffer` on file save and avoid
reformatting files that are outside of any project with .clang-format style.

Reviewers: djasper, klimek, sammccall, owenpan, mitchell-stellar, MyDeveloperDay

Reviewed By: MyDeveloperDay

Subscribers: cfe-commits

Patch By: dottedmag

Tags: #clang, #clang-format

Differential Revision: https://reviews.llvm.org/D69752
parent 76ec6b1e
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -57,6 +57,18 @@ of the buffer."
  :safe #'stringp)
(make-variable-buffer-local 'clang-format-style)

(defcustom clang-format-fallback-style "none"
  "Fallback style to pass to clang-format.

This style will be used if clang-format-style is set to \"file\"
and no .clang-format is found in the directory of the buffer or
one of parent directories. Set to \"none\" to disable formatting
in such buffers."
  :group 'clang-format
  :type 'string
  :safe #'stringp)
(make-variable-buffer-local 'clang-format-fallback-style)

(defun clang-format--extract (xml-node)
  "Extract replacements and cursor information from XML-NODE."
  (unless (and (listp xml-node) (eq (xml-node-name xml-node) 'replacements))
@@ -162,6 +174,7 @@ uses the function `buffer-file-name'."
                               ,@(and assume-file-name
                                      (list "-assume-filename" assume-file-name))
                               ,@(and style (list "-style" style))
                               "-fallback-style" ,clang-format-fallback-style
                               "-offset" ,(number-to-string file-start)
                               "-length" ,(number-to-string (- file-end file-start))
                               "-cursor" ,(number-to-string cursor))))