diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ui/ExternalProjectPathLookupElement.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ui/ExternalProjectPathLookupElement.java index 8490eb4d8513..a5837173aeb0 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ui/ExternalProjectPathLookupElement.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ui/ExternalProjectPathLookupElement.java @@ -49,12 +49,24 @@ public class ExternalProjectPathLookupElement extends LookupElement { @Override public void handleInsert(InsertionContext context) { Editor editor = context.getEditor(); + final FoldingModel foldingModel = editor.getFoldingModel(); + foldingModel.runBatchFoldingOperation(new Runnable() { + @Override + public void run() { + FoldRegion[] regions = foldingModel.getAllFoldRegions(); + for (FoldRegion region : regions) { + foldingModel.removeFoldRegion(region); + } + } + }); + final Document document = editor.getDocument(); final int startOffset = context.getStartOffset(); - document.replaceString(startOffset, context.getTailOffset(), myProjectPath); + + document.replaceString(startOffset, document.getTextLength(), myProjectPath); final Project project = context.getProject(); PsiDocumentManager.getInstance(project).commitDocument(document); - final FoldingModel foldingModel = editor.getFoldingModel(); + foldingModel.runBatchFoldingOperationDoNotCollapseCaret(new Runnable() { @Override public void run() { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 09c4cbcd305f..8c86fe37979b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -2199,7 +2199,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi if (hEnd >= lEnd) { FoldRegion collapsedFolderAt = myFoldingModel.getCollapsedRegionAtOffset(start); - if (collapsedFolderAt == null) { + if (collapsedFolderAt == null || collapsedFolderAt.getEndOffset() == lEnd) { position.x = drawSoftWrapAwareBackground(g, backColor, text, start, lEnd - lIterator.getSeparatorLength(), position, fontType, defaultBackground, clip, softWrapsToSkip, caretRowPainted);