================ @@ -761,7 +762,37 @@ void StoreDiags::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel, return false; if (!isInsideMainFile(FixIt.RemoveRange.getBegin(), SM)) return false; - Edits.push_back(toTextEdit(FixIt, SM, *LangOpts)); + + auto R = tooling::Replacement(SM, FixIt.RemoveRange, FixIt.CodeToInsert, + *LangOpts); + auto Err = Replacements->addOrMerge(R); + if (Err) { + log("Skipping formatting the replacement due to conflict: {0}", + llvm::toString(std::move(Err))); + Replacements = std::nullopt; + break; + } + } + + llvm::SmallVector<TextEdit, 1> Edits; + + if (Replacements) { + StringRef Code = SM.getBufferData(SM.getMainFileID()); + auto Repl = format::cleanupAroundReplacements(Code, *Replacements, + format::getNoStyle()); ---------------- llvm-beanz wrote:
nit: ```suggestion Expected<Replacements> Repl = format::cleanupAroundReplacements( Code, *Replacements, format::getNoStyle()); ``` LLVM's style guide discourages auto when the type isn't clear from context. see: https://llvm.org/docs/CodingStandards.html#use-auto-type-deduction-to-make-code-more-readable https://github.com/llvm/llvm-project/pull/118569 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits