arch-repo-manager/srv/static/node_modules/xterm-addon-search/lib/xterm-addon-search.js

2 lines
12 KiB
JavaScript
Raw Normal View History

2022-09-15 23:13:32 +02:00
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SearchAddon=t():e.SearchAddon=t()}(self,(function(){return(()=>{"use strict";var e={345:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;t<this._listeners.length;t++)if(this._listeners[t]===e)return void this._listeners.splice(t,1)}})),this._event}fire(e,t){const i=[];for(let e=0;e<this._listeners.length;e++)i.push(this._listeners[e]);for(let s=0;s<i.length;s++)i[s].call(void 0,e,t)}dispose(){this._listeners&&(this._listeners.length=0),this._disposed=!0}},t.forwardEvent=function(e,t){return e((e=>t.fire(e)))}}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s](n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.SearchAddon=void 0;const t=i(345),r=" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?";e.SearchAddon=class{constructor(){this._linesCacheTimeoutId=0,this._onDidChangeResults=new t.EventEmitter,this.onDidChangeResults=this._onDidChangeResults.event}activate(e){this._terminal=e,this._onDataDisposable=this._terminal.onWriteParsed((()=>this._updateMatches())),this._onResizeDisposable=this._terminal.onResize((()=>this._updateMatches()))}_updateMatches(){var e;this._highlightTimeout&&window.clearTimeout(this._highlightTimeout),this._cachedSearchTerm&&(null===(e=this._lastSearchOptions)||void 0===e?void 0:e.decorations)&&(this._highlightTimeout=setTimeout((()=>{var e,t;this.findPrevious(this._cachedSearchTerm,Object.assign(Object.assign({},this._lastSearchOptions),{incremental:!0,noScroll:!0})),this._resultIndex=this._searchResults?this._searchResults.size-1:-1,this._onDidChangeResults.fire({resultIndex:this._resultIndex,resultCount:null!==(t=null===(e=this._searchResults)||void 0===e?void 0:e.size)&&void 0!==t?t:-1})}),200))}dispose(){var e,t;this.clearDecorations(),null===(e=this._onDataDisposable)||void 0===e||e.dispose(),null===(t=this._onResizeDisposable)||void 0===t||t.dispose()}clearDecorations(e){var t,i,s,r;null===(t=this._selectedDecoration)||void 0===t||t.dispose(),null===(i=this._searchResults)||void 0===i||i.clear(),null===(s=this._resultDecorations)||void 0===s||s.forEach((e=>{for(const t of e)t.dispose()})),null===(r=this._resultDecorations)||void 0===r||r.clear(),this._searchResults=void 0,this._resultDecorations=void 0,e||(this._cachedSearchTerm=void 0)}clearActiveDecoration(){var e;null===(e=this._selectedDecoration)||void 0===e||e.dispose(),this._selectedDecoration=void 0}findNext(e,t){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");return this._lastSearchOptions=t,(null==t?void 0:t.decorations)&&(void 0===this._resultIndex&&void 0!==this._cachedSearchTerm&&e===this._cachedSearchTerm||this._highlightAllMatches(e,t)),this._fireResults(e,this._findNextAndSelect(e,t),t)}_highlightAllMatches(e,t){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");if(!e||0===e.length)return void this.clearDecorations();t=t||{},this.clearDecorations(!0),this._searchResults=new Map,this._resultDecorations=new Map;const i=this._resultDecorations;let s=this._find(e,0,0,t);for(;s&&!this._searchResults.get(`${s.row}-${s.col}`);)if(this._searchResults.set(`${s.row}-${s.col}`,s),s=this._find(e,s.col+s.term.length>=this._terminal.cols?s.row+1:s.row,s.col+s.term.length>=this._terminal.cols?0:s.col+1,t),this._searchResults.size>1e3)return this.clearDecorations(),void(this._resultIndex=void 0);this._searchResults.forEach((e=>{const s=this._createResultDecoration(e,t.decorations);if(s){const e=i.get(s.marker.line)||[];e.push(s),i.set(s.marker.line,e)}}))}_find(e,t,i,s){var r;if(!this._terminal||!e||0===e.length)return null===(r=this._terminal)||void 0===r||r.clearSelection(),void this.clearDecora
//# sourceMappingURL=xterm-addon-search.js.map