forked from OSchip/llvm-project
[clang-format] Correct indentation for `[key] = value,` entries in C++ object initialisers
Summary: Do not use continuation indent for '[' in blocks in C# code. Reviewers: krasimir Reviewed By: krasimir Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D75747
This commit is contained in:
parent
4a1b6b0057
commit
cb3f20d27c
|
@ -1047,6 +1047,9 @@ unsigned ContinuationIndenter::getNewLineColumn(const LineState &State) {
|
|||
if (NextNonComment->is(TT_ArraySubscriptLSquare)) {
|
||||
if (State.Stack.back().StartOfArraySubscripts != 0)
|
||||
return State.Stack.back().StartOfArraySubscripts;
|
||||
else if (Style.isCSharp()) // C# allows `["key"] = value` inside object
|
||||
// initializers.
|
||||
return State.Stack.back().Indent;
|
||||
return ContinuationIndent;
|
||||
}
|
||||
|
||||
|
|
|
@ -549,6 +549,15 @@ Shape[] shapes = new[] { new Circle { Radius = 2.7281, Colour = Colours.Red },
|
|||
private Transformer _transformer = new X.Y {
|
||||
Filler = (Shape shape) => { return new Transform.Fill(shape, RED); },
|
||||
Scaler = (Shape shape) => { return new Transform.Resize(shape, 0.1); },
|
||||
};)",
|
||||
Style);
|
||||
|
||||
// Dictionary initialisation.
|
||||
verifyFormat(R"(//
|
||||
var myDict = new Dictionary<string, string> {
|
||||
["name"] = _donald,
|
||||
["age"] = Convert.ToString(DateTime.Today.Year - 1934),
|
||||
["type"] = _duck,
|
||||
};)",
|
||||
Style);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue