Как настроить выравнивание в формате clang при разрыве цепей? - PullRequest
0 голосов
/ 20 января 2020

Пожалуйста, обратите внимание на следующий исходный файл, отформатированный в формате clang 9.0.0:

#include <iostream>
#include <tuple>
#include <utility>
#include <vector>

int main()
{
    using Type1 = std::pair<double, double>;
    using Type2 = std::vector<Type1>;
    using Type3 = std::vector<std::pair<int, Type2>>;
    using Type4 = std::tuple<size_t, size_t, Type3>;
    using Type5 = std::vector<Type4>;
    using Type6 = std::vector<Type5>;
    std::vector<int> name1234;
    int aaaaaaaaaaaaaaaaaa = 0;
    int bbbbbbbbbbbbbbbbb = 0;
    int cccccccccccccc = 0;
    int dddddddddddddddddd = 0;

    Type6 eeeeeeeeeeeee;

    const double startParameterOfCheckedSegment = std::get<2>(
            eeeeeeeeeeeee.at(name1234.at(aaaaaaaaaaaaaaaaaa)).at(bbbbbbbbbbbbbbbbb))
                                                                                                        .at(cccccccccccccc)
                                                                                                        .second
                                                                                                        .at(dddddddddddddddddd)
                                                                                                        .first;

    std::cout << startParameterOfCheckedSegment << std::endl;

    return 0;
}

Высокий отступ строк из строки .at(cccccccccccccc) на меня очень беспокоит. В чем причина этого и как это можно исправить?

Мой файл _clang-format имеет следующее содержимое:

Language: Cpp

AlwaysBreakTemplateDeclarations: 'true'

BreakBeforeBraces: Allman

ColumnLimit: '80'

IndentWidth: '2'

NamespaceIndentation: None

Standard: Cpp11

TabWidth: '2'

UseTab: Always

PointerAlignment: Left

AlignAfterOpenBracket: DontAlign

BreakConstructorInitializers: AfterColon

MaxEmptyLinesToKeep: 2

AllowShortFunctionsOnASingleLine: None

AlignOperands: 'false'
...