diff --git a/clang/tools/clang-format/clang-format.el b/clang/tools/clang-format/clang-format.el index 3096ec12f558..768acb3a5d0d 100644 --- a/clang/tools/clang-format/clang-format.el +++ b/clang/tools/clang-format/clang-format.el @@ -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))))