diff --git a/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/EditorComponentInlaysManager.kt b/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/EditorComponentInlaysManager.kt index 7de018bb2b..b4f099d2df 100644 --- a/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/EditorComponentInlaysManager.kt +++ b/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/EditorComponentInlaysManager.kt @@ -51,7 +51,7 @@ class EditorComponentInlaysManager(val editor: EditorImpl, private val onlyOneIn } val wrappedComponent = ComponentWrapper(component) - val offset = editor.document.getLineEndOffset(lineIndex) + val offset = editor.document.getLineStartOffset(lineIndex) return EditorEmbeddedComponentManager.getInstance() .addComponent( @@ -59,7 +59,7 @@ class EditorComponentInlaysManager(val editor: EditorImpl, private val onlyOneIn EditorEmbeddedComponentManager.Properties( EditorEmbeddedComponentManager.ResizePolicy.none(), null, - true, + !editor.inlayModel.getBlockElementsInRange(offset,offset).isEmpty(), showAbove, 0, offset diff --git a/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/VerticalDiffBlock.kt b/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/VerticalDiffBlock.kt index a84bf7f9b3..64f1d1bb77 100644 --- a/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/VerticalDiffBlock.kt +++ b/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/editor/VerticalDiffBlock.kt @@ -59,11 +59,12 @@ class VerticalDiffBlock( fun deleteLineAt(line: Int) { val startOffset = editor.document.getLineStartOffset(line) - val endOffset = editor.document.getLineEndOffset(line) + 1 + val endOffset = min(editor.document.getLineEndOffset(line) + 1, editor.document.textLength) val deletedText = editor.document.getText(TextRange(startOffset, endOffset)) deletedLines.add(deletedText.trimEnd()) + // Unable to ensure that text length has not changed, so we need to get it again editor.document.deleteString(startOffset, min(endOffset, editor.document.textLength)) }