diff --git a/platform/diff-impl/resources/META-INF/diff-impl.xml b/platform/diff-impl/resources/META-INF/diff-impl.xml
index 9e65bbd6ddaa..dd13c877207d 100644
--- a/platform/diff-impl/resources/META-INF/diff-impl.xml
+++ b/platform/diff-impl/resources/META-INF/diff-impl.xml
@@ -4,6 +4,11 @@
+
+
diff --git a/platform/diff-impl/src/com/intellij/openapi/vcs/ex/LineStatusMarkerPopupService.kt b/platform/diff-impl/src/com/intellij/openapi/vcs/ex/LineStatusMarkerPopupService.kt
index 1ba6cc6abb8a..c4c209db01cb 100644
--- a/platform/diff-impl/src/com/intellij/openapi/vcs/ex/LineStatusMarkerPopupService.kt
+++ b/platform/diff-impl/src/com/intellij/openapi/vcs/ex/LineStatusMarkerPopupService.kt
@@ -4,11 +4,14 @@ package com.intellij.openapi.vcs.ex
import com.intellij.codeInsight.hint.HintManager
import com.intellij.codeInsight.hint.HintManagerImpl
import com.intellij.openapi.Disposable
+import com.intellij.openapi.actionSystem.DataContext
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.components.Service
+import com.intellij.openapi.editor.Caret
import com.intellij.openapi.editor.Document
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.editor.LogicalPosition
+import com.intellij.openapi.editor.actionSystem.EditorActionHandler
import com.intellij.openapi.editor.event.*
import com.intellij.openapi.fileEditor.FileEditorManagerEvent
import com.intellij.openapi.fileEditor.FileEditorManagerListener
@@ -63,6 +66,10 @@ internal class LineStatusMarkerPopupService {
}
}
+ internal fun hidePopup() {
+ lastKnownHint?.hide()
+ }
+
private fun beforeShowNewHint(newHint: LightweightHint) {
if (lastKnownHint != null) {
lastKnownHint!!.hide()
@@ -179,3 +186,14 @@ internal class LineStatusMarkerPopupService {
.getService(LineStatusMarkerPopupService::class.java)
}
}
+
+private class LineStatusMakerEscEditorHandler(private val delegate: EditorActionHandler) : EditorActionHandler() {
+ override fun isEnabledForCaret(editor: Editor, caret: Caret, dataContext: DataContext?): Boolean {
+ return delegate.isEnabled(editor, caret, dataContext)
+ }
+
+ override fun doExecute(editor: Editor, caret: Caret?, dataContext: DataContext?) {
+ LineStatusMarkerPopupService.instance.hidePopup()
+ delegate.execute(editor, caret, dataContext)
+ }
+}
\ No newline at end of file