[clang] [clang-format] Do not update cursor pos if no includes replacement (PR #77456)
Björn Schäpers via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 9 12:18:58 PST 2024
================
@@ -3131,20 +3132,25 @@ static void sortCppIncludes(const FormatStyle &Style,
}
result += Includes[Index].Text;
if (Cursor && CursorIndex == Index)
- *Cursor = IncludesBeginOffset + result.size() - CursorToEOLOffset;
+ NewCursor = IncludesBeginOffset + result.size() - CursorToEOLOffset;
CurrentCategory = Includes[Index].Category;
}
- if (Cursor && *Cursor >= IncludesEndOffset)
- *Cursor += result.size() - IncludesBlockSize;
-
// If the #includes are out of order, we generate a single replacement fixing
// the entire range of blocks. Otherwise, no replacement is generated.
if (replaceCRLF(result) == replaceCRLF(std::string(Code.substr(
IncludesBeginOffset, IncludesBlockSize)))) {
return;
}
+ if (Cursor) {
+ if (UINT_MAX != NewCursor) {
+ *Cursor = NewCursor;
+ } else if (*Cursor >= IncludesEndOffset) {
+ *Cursor += result.size() - IncludesBlockSize;
+ }
----------------
HazardyKnusperkeks wrote:
```suggestion
if (NewCursor != UINT_MAX)
*Cursor = NewCursor;
else if (*Cursor >= IncludesEndOffset)
*Cursor += result.size() - IncludesBlockSize;
```
https://github.com/llvm/llvm-project/pull/77456
More information about the cfe-commits
mailing list