diff --git a/demo/client.ts b/demo/client.ts index d812ca67..b67a84a5 100644 --- a/demo/client.ts +++ b/demo/client.ts @@ -94,7 +94,8 @@ const terminalContainer = document.getElementById('terminal-container'); const actionElements = { find: document.querySelector('#find'), findNext: document.querySelector('#find-next'), - findPrevious: document.querySelector('#find-previous') + findPrevious: document.querySelector('#find-previous'), + findResults: document.querySelector('#find-results') }; const paddingElement = document.getElementById('padding'); @@ -398,9 +399,12 @@ function initAddons(term: TerminalType): void { if (!addon.canChange) { checkbox.disabled = true; } - if(name === 'unicode11' && checkbox.checked) { + if (name === 'unicode11' && checkbox.checked) { term.unicode.activeVersion = '11'; } + if (name === 'search' && checkbox.checked) { + addon.instance.onDidChangeResults(e => updateFindResults(e)); + } addDomListener(checkbox, 'change', () => { if (checkbox.checked) { addon.instance = new addon.ctor(); @@ -411,6 +415,8 @@ function initAddons(term: TerminalType): void { }, 0); } else if (name === 'unicode11') { term.unicode.activeVersion = '11'; + } else if (name === 'search') { + addon.instance.onDidChangeResults(e => updateFindResults(e)); } } else { if (name === 'webgl') { @@ -439,6 +445,16 @@ function initAddons(term: TerminalType): void { container.appendChild(fragment); } +function updateFindResults(e: { resultIndex: number, resultCount: number } | undefined) { + let content: string; + if (e === undefined) { + content = 'undefined'; + } else { + content = `index: ${e.resultIndex}, count: ${e.resultCount}`; + } + actionElements.findResults.textContent = content; +} + function addDomListener(element: HTMLElement, type: string, handler: (...args: any[]) => any): void { element.addEventListener(type, handler); term._core.register({ dispose: () => element.removeEventListener(type, handler) }); diff --git a/demo/index.html b/demo/index.html index f05b4e64..a460fea1 100644 --- a/demo/index.html +++ b/demo/index.html @@ -40,6 +40,7 @@
+
Results: