55
66import type { Terminal , IDisposable , ITerminalAddon , IDecoration } from '@xterm/xterm' ;
77import type { SearchAddon as ISearchApi } from '@xterm/addon-search' ;
8- import { Disposable , toDisposable , disposeArray , MutableDisposable , getDisposeArrayDisposable } from 'common/Lifecycle' ;
98import { Emitter } from 'vs/base/common/event' ;
9+ import { combinedDisposable , Disposable , dispose , MutableDisposable , toDisposable } from 'vs/base/common/lifecycle' ;
1010
1111export interface ISearchOptions {
1212 regex ?: boolean ;
@@ -67,7 +67,7 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
6767 private _cachedSearchTerm : string | undefined ;
6868 private _highlightedLines : Set < number > = new Set ( ) ;
6969 private _highlightDecorations : IHighlight [ ] = [ ] ;
70- private _selectedDecoration : MutableDisposable < IHighlight > = this . register ( new MutableDisposable ( ) ) ;
70+ private _selectedDecoration : MutableDisposable < IHighlight > = this . _register ( new MutableDisposable ( ) ) ;
7171 private _highlightLimit : number ;
7272 private _lastSearchOptions : ISearchOptions | undefined ;
7373 private _highlightTimeout : number | undefined ;
@@ -80,7 +80,7 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
8080 private _linesCacheTimeoutId = 0 ;
8181 private _linesCacheDisposables = new MutableDisposable ( ) ;
8282
83- private readonly _onDidChangeResults = this . register ( new Emitter < { resultIndex : number , resultCount : number } > ( ) ) ;
83+ private readonly _onDidChangeResults = this . _register ( new Emitter < { resultIndex : number , resultCount : number } > ( ) ) ;
8484 public readonly onDidChangeResults = this . _onDidChangeResults . event ;
8585
8686 constructor ( options ?: Partial < ISearchAddonOptions > ) {
@@ -91,9 +91,9 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
9191
9292 public activate ( terminal : Terminal ) : void {
9393 this . _terminal = terminal ;
94- this . register ( this . _terminal . onWriteParsed ( ( ) => this . _updateMatches ( ) ) ) ;
95- this . register ( this . _terminal . onResize ( ( ) => this . _updateMatches ( ) ) ) ;
96- this . register ( toDisposable ( ( ) => this . clearDecorations ( ) ) ) ;
94+ this . _register ( this . _terminal . onWriteParsed ( ( ) => this . _updateMatches ( ) ) ) ;
95+ this . _register ( this . _terminal . onResize ( ( ) => this . _updateMatches ( ) ) ) ;
96+ this . _register ( toDisposable ( ( ) => this . clearDecorations ( ) ) ) ;
9797 }
9898
9999 private _updateMatches ( ) : void {
@@ -111,7 +111,7 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
111111
112112 public clearDecorations ( retainCachedSearchTerm ?: boolean ) : void {
113113 this . _selectedDecoration . clear ( ) ;
114- disposeArray ( this . _highlightDecorations ) ;
114+ dispose ( this . _highlightDecorations ) ;
115115 this . _highlightDecorations = [ ] ;
116116 this . _highlightedLines . clear ( ) ;
117117 if ( ! retainCachedSearchTerm ) {
@@ -426,11 +426,11 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
426426 const terminal = this . _terminal ! ;
427427 if ( ! this . _linesCache ) {
428428 this . _linesCache = new Array ( terminal . buffer . active . length ) ;
429- this . _linesCacheDisposables . value = getDisposeArrayDisposable ( [
429+ this . _linesCacheDisposables . value = combinedDisposable (
430430 terminal . onLineFeed ( ( ) => this . _destroyLinesCache ( ) ) ,
431431 terminal . onCursorMove ( ( ) => this . _destroyLinesCache ( ) ) ,
432432 terminal . onResize ( ( ) => this . _destroyLinesCache ( ) )
433- ] ) ;
433+ ) ;
434434 }
435435
436436 window . clearTimeout ( this . _linesCacheTimeoutId ) ;
@@ -678,7 +678,7 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
678678 const disposables : IDisposable [ ] = [ ] ;
679679 disposables . push ( marker ) ;
680680 disposables . push ( decoration . onRender ( ( e ) => this . _applyStyles ( e , options . activeMatchBorder , true ) ) ) ;
681- disposables . push ( decoration . onDispose ( ( ) => disposeArray ( disposables ) ) ) ;
681+ disposables . push ( decoration . onDispose ( ( ) => dispose ( disposables ) ) ) ;
682682 this . _selectedDecoration . value = { decoration, match : result , dispose ( ) { decoration . dispose ( ) ; } } ;
683683 }
684684 }
@@ -740,7 +740,7 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
740740 const disposables : IDisposable [ ] = [ ] ;
741741 disposables . push ( marker ) ;
742742 disposables . push ( findResultDecoration . onRender ( ( e ) => this . _applyStyles ( e , options . matchBorder , false ) ) ) ;
743- disposables . push ( findResultDecoration . onDispose ( ( ) => disposeArray ( disposables ) ) ) ;
743+ disposables . push ( findResultDecoration . onDispose ( ( ) => dispose ( disposables ) ) ) ;
744744 }
745745 return findResultDecoration ;
746746 }
0 commit comments