From 90f64ba6ccd45378cbb91c87af7cd216e3e03029 Mon Sep 17 00:00:00 2001 From: meganrogge Date: Thu, 17 Mar 2022 09:52:41 -0400 Subject: [PATCH] get it to work in the demo --- addons/xterm-addon-search/src/SearchAddon.ts | 6 +++++- src/browser/Decorations/BufferDecorationRenderer.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/xterm-addon-search/src/SearchAddon.ts b/addons/xterm-addon-search/src/SearchAddon.ts index 67e1f800..8027cd73 100644 --- a/addons/xterm-addon-search/src/SearchAddon.ts +++ b/addons/xterm-addon-search/src/SearchAddon.ts @@ -92,6 +92,7 @@ export class SearchAddon implements ITerminalAddon { // new search, clear out the old decorations this._resultDecorations.forEach(d => d.dispose()); + console.log('clearing'); const results: ISearchResult[] = []; searchOptions = searchOptions || {}; searchOptions.incremental = false; @@ -102,7 +103,7 @@ export class SearchAddon implements ITerminalAddon { } found = this.findNext(term, searchOptions); } - + console.log(results); for (const result of results) { if (result) { const resultDecoration = this._showResultDecoration(result); @@ -541,7 +542,10 @@ export class SearchAddon implements ITerminalAddon { */ private _showResultDecoration(result: ISearchResult): IDecoration | undefined { const terminal = this._terminal!; + // for demo to work + // const marker = terminal.registerMarker(undefined, result.row); const marker = terminal.registerMarker(undefined, result.row); + console.log(result.row, marker?.line); if (!marker) { return undefined; } diff --git a/src/browser/Decorations/BufferDecorationRenderer.ts b/src/browser/Decorations/BufferDecorationRenderer.ts index 116c09a5..22dc73e9 100644 --- a/src/browser/Decorations/BufferDecorationRenderer.ts +++ b/src/browser/Decorations/BufferDecorationRenderer.ts @@ -97,7 +97,7 @@ export class BufferDecorationRenderer extends Disposable { private _refreshStyle(decoration: IInternalDecoration, element: HTMLElement): void { const line = decoration.marker.line - this._bufferService.buffers.active.ydisp; - if (line < 0 || line > this._bufferService.rows) { + if (line < 0 || line >= this._bufferService.rows) { // outside of viewport element.style.display = 'none'; } else {