aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Format/FormatTestJS.cpp
diff options
context:
space:
mode:
authorFrancois Ferrand <thetypz@gmail.com>2020-04-23 15:56:47 +0200
committerFrancois Ferrand <francois.ferrand@faurecia.com>2020-05-15 16:38:25 +0200
commit4db94094b469b4715d08ef37f1799bf3ea7ca8ea (patch)
tree95f6a805fc0f9134b1c30a67b9d430bbb06258c0 /clang/unittests/Format/FormatTestJS.cpp
parent76c5f277f25e334404aa44ea0aafd674a627ab74 (diff)
downloadllvm-4db94094b469b4715d08ef37f1799bf3ea7ca8ea.zip
llvm-4db94094b469b4715d08ef37f1799bf3ea7ca8ea.tar.gz
llvm-4db94094b469b4715d08ef37f1799bf3ea7ca8ea.tar.bz2
clang-format: support aligned nested conditionals formatting
Summary: When multiple ternary operators are chained, e.g. like an if/else-if/ else-if/.../else sequence, clang-format will keep aligning the colon with the question mark, which increases the indent for each conditionals: int a = condition1 ? result1 : condition2 ? result2 : condition3 ? result3 : result4; This patch detects the situation (e.g. conditionals used in false branch of another conditional), to avoid indenting in that case: int a = condition1 ? result1 : condition2 ? result2 : condition3 ? result3 : result4; When BreakBeforeTernaryOperators is false, this will format like this: int a = condition1 ? result1 : condition2 ? result2 : conditino3 ? result3 : result4; This formatting style is referenced here: https://www.fluentcpp.com/2018/02/27/replace-else-if-ternary-operator/ and here: https://marcmutz.wordpress.com/2010/10/14/top-5-reasons-you-should-love-your-ternary-operator/ Reviewers: krasimir, djasper, klimek, MyDeveloperDay Reviewed By: MyDeveloperDay Subscribers: hokein, dyung, MyDeveloperDay, acoomans, cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D50078
Diffstat (limited to 'clang/unittests/Format/FormatTestJS.cpp')
0 files changed, 0 insertions, 0 deletions