mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-03-01 14:58:18 +00:00
clang-format: Simplify and improve stop condition for formatting
unaffected lines with incorrect initial indent. Starting from: namespace { int i; // There shouldn't be indentation here. int j; // <- call clang-format on this line. } Before: namespace { int i; int j; } After: namespace { int i; int j; } llvm-svn: 251824
This commit is contained in:
parent
2297a9142e
commit
f83834feb1
@ -815,8 +815,6 @@ UnwrappedLineFormatter::format(const SmallVectorImpl<AnnotatedLine *> &Lines,
|
||||
|
||||
// The minimum level of consecutive lines that have been formatted.
|
||||
unsigned RangeMinLevel = UINT_MAX;
|
||||
// The level of the previous line.
|
||||
unsigned PreviousLineLevel = Lines.front()->Level;
|
||||
|
||||
for (const AnnotatedLine *Line =
|
||||
Joiner.getNextMergedLine(DryRun, IndentTracker);
|
||||
@ -830,8 +828,7 @@ UnwrappedLineFormatter::format(const SmallVectorImpl<AnnotatedLine *> &Lines,
|
||||
// remaining file if it currently missing a closing brace.
|
||||
bool ContinueFormatting =
|
||||
TheLine.Level > RangeMinLevel ||
|
||||
(TheLine.Level == RangeMinLevel && PreviousLineLevel <= TheLine.Level);
|
||||
PreviousLineLevel = TheLine.Level;
|
||||
(TheLine.Level == RangeMinLevel && !TheLine.startsWith(tok::r_brace));
|
||||
|
||||
bool FixIndentation = (FixBadIndentation || ContinueFormatting) &&
|
||||
Indent != TheLine.First->OriginalColumn;
|
||||
|
@ -273,6 +273,27 @@ TEST_F(FormatTestSelective, IndividualStatementsOfNestedBlocks) {
|
||||
0, 0));
|
||||
}
|
||||
|
||||
TEST_F(FormatTestSelective, WrongIndent) {
|
||||
EXPECT_EQ("namespace {\n"
|
||||
"int i;\n"
|
||||
"int j;\n"
|
||||
"}",
|
||||
format("namespace {\n"
|
||||
" int i;\n" // Format here.
|
||||
" int j;\n"
|
||||
"}",
|
||||
15, 0));
|
||||
EXPECT_EQ("namespace {\n"
|
||||
" int i;\n"
|
||||
" int j;\n"
|
||||
"}",
|
||||
format("namespace {\n"
|
||||
" int i;\n"
|
||||
" int j;\n" // Format here.
|
||||
"}",
|
||||
24, 0));
|
||||
}
|
||||
|
||||
TEST_F(FormatTestSelective, AlwaysFormatsEntireMacroDefinitions) {
|
||||
Style.AlignEscapedNewlinesLeft = true;
|
||||
EXPECT_EQ("int i;\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user