summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2015-10-05 07:24:55 +0000
committerDaniel Jasper <djasper@google.com>2015-10-05 07:24:55 +0000
commit49d3d58a452146f898a91b672a285b3eaf8ef03e (patch)
tree8c5363a91bd3aa7c96144316fb5f1ef8c7dc1487
parent5bdde3bd5af3c58d4aad2521a5993967c8e99eb8 (diff)
downloadbcm5719-llvm-49d3d58a452146f898a91b672a285b3eaf8ef03e.tar.gz
bcm5719-llvm-49d3d58a452146f898a91b672a285b3eaf8ef03e.zip
clang-format: Document threshold for adding new options.
llvm-svn: 249289
-rw-r--r--clang/docs/ClangFormatStyleOptions.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/clang/docs/ClangFormatStyleOptions.rst b/clang/docs/ClangFormatStyleOptions.rst
index e10c3521f67..c2c076b5892 100644
--- a/clang/docs/ClangFormatStyleOptions.rst
+++ b/clang/docs/ClangFormatStyleOptions.rst
@@ -586,6 +586,28 @@ the configuration (without a prefix: ``Auto``).
.. END_FORMAT_STYLE_OPTIONS
+Adding additional style options
+===============================
+
+Each additional style option adds costs to the clang-format project. Some of
+these costs affect the clang-format developement itself, as we need to make
+sure that any given combination of options work and that new features don't
+break any of the existing options in any way. There are also costs for end users
+as options become less discoverable and people have to think about and make a
+decision on options they don't really care about.
+
+The goal of the clang-format project is more on the side of supporting a
+limited set of styles really well as opposed to supporting every single style
+used by a codebase somewhere in the wild. Of course, we do want to support all
+major projects and thus have established the following bar for adding style
+options. Each new style option must ..
+
+ * .. be used in a project of significant size (have dozens of contributors)
+ * .. have a publicly accessible style guide
+ * .. have a person willing to contribute and maintain patches
+
+At least two out of these three need to be met.
+
Examples
========
OpenPOWER on IntegriCloud