in ktfmt_idea_plugin/src/main/java/com/facebook/ktfmt/intellij/KtfmtCodeStyleManager.java [135:153]
private void performReplacements(
final Document document, final Map<TextRange, String> replacements) {
if (replacements.isEmpty()) {
return;
}
TreeMap<TextRange, String> sorted = new TreeMap<>(comparing(TextRange::getStartOffset));
sorted.putAll(replacements);
WriteCommandAction.runWriteCommandAction(
getProject(),
() -> {
for (Entry<TextRange, String> entry : sorted.descendingMap().entrySet()) {
document.replaceString(
entry.getKey().getStartOffset(), entry.getKey().getEndOffset(), entry.getValue());
}
PsiDocumentManager.getInstance(getProject()).commitDocument(document);
});
}