From 6c4f8b42dd83f8e5ab279dc6bfa7bf2eaba013fb Mon Sep 17 00:00:00 2001 From: meganrogge Date: Fri, 18 Mar 2022 13:29:59 -0400 Subject: [PATCH] append to results --- addons/xterm-addon-search/src/SearchAddon.ts | 9 +++------ typings/xterm.d.ts | 2 -- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/addons/xterm-addon-search/src/SearchAddon.ts b/addons/xterm-addon-search/src/SearchAddon.ts index b28e2bdd..38792414 100644 --- a/addons/xterm-addon-search/src/SearchAddon.ts +++ b/addons/xterm-addon-search/src/SearchAddon.ts @@ -91,25 +91,22 @@ export class SearchAddon implements ITerminalAddon { this.clear(); return false; } - + searchOptions = searchOptions || {}; if (term === this._cachedSearchTerm) { if (!this._dataChanged) { return this.findNext(term, searchOptions); } - // set start row to avoid redoing work - searchOptions = searchOptions || {}; + // set start row and col to avoid redoing work const key = Array.from(this._searchResults.keys()).pop()?.split('-'); if (key?.length === 2) { searchOptions.startRow = Number.parseInt(key[0]) + 1; searchOptions.startCol = Number.parseInt(key[1]); - console.log(searchOptions.startRow, searchOptions.startCol); } } else { // new search, clear out the old decorations this._resultDecorations.forEach(decorations => decorations.forEach(d=> d.dispose())); this._resultDecorations.clear(); this._searchResults.clear(); - searchOptions = searchOptions || {}; } searchOptions.incremental = false; @@ -166,7 +163,7 @@ export class SearchAddon implements ITerminalAddon { currentSelection = this._terminal.getSelectionPosition()!; startRow = incremental ? currentSelection.startRow : currentSelection.endRow; startCol = incremental ? currentSelection.startColumn : currentSelection.endColumn; - } else { + } else if (!startRow) { startRow = this._terminal.buffer.active.cursorY; startCol = this._terminal.buffer.active.cursorX; } diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index d0149c19..363cede3 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -7,8 +7,6 @@ * to be stable and consumed by external programs. */ -import { IModelDecorationOverviewRulerOptions } from 'vs/editor/common/model'; - /// declare module 'xterm' {