diff --git a/src/vs/editor/common/model/textModel.ts b/src/vs/editor/common/model/textModel.ts index 0c3367ea4bd76..3f426ab1881e0 100644 --- a/src/vs/editor/common/model/textModel.ts +++ b/src/vs/editor/common/model/textModel.ts @@ -3267,13 +3267,13 @@ class DecorationsTrees { public getInjectedTextInInterval(host: IDecorationsTreesHost, start: number, end: number, filterOwnerId: number): model.IModelDecoration[] { const versionId = host.getVersionId(); const result = this._injectedTextDecorationsTree.intervalSearch(start, end, filterOwnerId, false, versionId); - return this._ensureNodesHaveRanges(host, result); + return this._ensureNodesHaveRanges(host, result).filter((i) => i.options.showIfCollapsed || !i.range.isEmpty()); } public getAllInjectedText(host: IDecorationsTreesHost, filterOwnerId: number): model.IModelDecoration[] { const versionId = host.getVersionId(); const result = this._injectedTextDecorationsTree.search(filterOwnerId, false, versionId); - return this._ensureNodesHaveRanges(host, result); + return this._ensureNodesHaveRanges(host, result).filter((i) => i.options.showIfCollapsed || !i.range.isEmpty()); } public getAll(host: IDecorationsTreesHost, filterOwnerId: number, filterOutValidation: boolean, overviewRulerOnly: boolean): model.IModelDecoration[] { diff --git a/src/vs/editor/contrib/inlineCompletions/ghostTextWidget.ts b/src/vs/editor/contrib/inlineCompletions/ghostTextWidget.ts index 7c2785e536b59..d58cf6a3650e4 100644 --- a/src/vs/editor/contrib/inlineCompletions/ghostTextWidget.ts +++ b/src/vs/editor/contrib/inlineCompletions/ghostTextWidget.ts @@ -283,7 +283,8 @@ class DecorationsWidget implements IDisposable { range: Range.fromPositions(new Position(lineNumber, p.column)), options: shouldUseInjectedText ? { description: 'ghost-text', - after: { content: contentText, inlineClassName: p.preview ? 'ghost-text-decoration-preview' : 'ghost-text-decoration' } + after: { content: contentText, inlineClassName: p.preview ? 'ghost-text-decoration-preview' : 'ghost-text-decoration' }, + showIfCollapsed: true, } : { ...decorationType.resolve() } diff --git a/src/vs/editor/test/common/model/modelInjectedText.test.ts b/src/vs/editor/test/common/model/modelInjectedText.test.ts index 9badd3c7e5f8b..b2c4b91553781 100644 --- a/src/vs/editor/test/common/model/modelInjectedText.test.ts +++ b/src/vs/editor/test/common/model/modelInjectedText.test.ts @@ -35,6 +35,7 @@ suite('Editor Model - Injected Text Events', () => { options: { after: { content: 'injected1' }, description: 'test1', + showIfCollapsed: true }, range: new Range(1, 1, 1, 1), }]); @@ -51,12 +52,14 @@ suite('Editor Model - Injected Text Events', () => { options: { after: { content: 'injected1' }, description: 'test1', + showIfCollapsed: true }, range: new Range(2, 1, 2, 1), }, { options: { after: { content: 'injected2' }, description: 'test2', + showIfCollapsed: true }, range: new Range(2, 2, 2, 2), }]); diff --git a/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts b/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts index cf2c618c49519..ccf38ad0235fe 100644 --- a/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts +++ b/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts @@ -746,7 +746,8 @@ suite('SplitLinesCollection', () => { description: 'example', after: { content: 'very very long injected text that causes a line break' - } + }, + showIfCollapsed: true, } }]); diff --git a/src/vs/editor/test/common/viewModel/viewModelImpl.test.ts b/src/vs/editor/test/common/viewModel/viewModelImpl.test.ts index ef9866ae107fb..f52485508fd3c 100644 --- a/src/vs/editor/test/common/viewModel/viewModelImpl.test.ts +++ b/src/vs/editor/test/common/viewModel/viewModelImpl.test.ts @@ -310,7 +310,8 @@ suite('ViewModel', () => { description: 'test', before: { content: 'bar' - } + }, + showIfCollapsed: true } }, { @@ -319,7 +320,8 @@ suite('ViewModel', () => { description: 'test', before: { content: 'bz' - } + }, + showIfCollapsed: true } }, ]); diff --git a/src/vs/workbench/contrib/testing/browser/testingDecorations.ts b/src/vs/workbench/contrib/testing/browser/testingDecorations.ts index 8f4b493f93904..00b1917bc4f09 100644 --- a/src/vs/workbench/contrib/testing/browser/testingDecorations.ts +++ b/src/vs/workbench/contrib/testing/browser/testingDecorations.ts @@ -754,6 +754,7 @@ class TestMessageDecoration implements ITestDecoration { content: renderStringAsPlaintext(message), inlineClassName: `test-message-inline-content test-message-inline-content-s${severity} ${this.contentIdClass}` }; + options.showIfCollapsed = true; const rulerColor = severity === TestMessageType.Error ? overviewRulerError