From 7f87b4632857c6a1d2a40582800e5ef3d0260e53 Mon Sep 17 00:00:00 2001 From: Pavel Sychev Date: Wed, 30 Mar 2022 14:30:56 +0200 Subject: [PATCH 1/2] Expose urlRegex in the public .d.ts file. --- .../xterm-addon-web-links/typings/xterm-addon-web-links.d.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/xterm-addon-web-links/typings/xterm-addon-web-links.d.ts b/addons/xterm-addon-web-links/typings/xterm-addon-web-links.d.ts index 78a258e5..5e6c266d 100644 --- a/addons/xterm-addon-web-links/typings/xterm-addon-web-links.d.ts +++ b/addons/xterm-addon-web-links/typings/xterm-addon-web-links.d.ts @@ -49,5 +49,10 @@ declare module 'xterm-addon-web-links' { * happen even when tooltipCallback hasn't fired for the link yet. */ leave?(event: MouseEvent, text: string): void; + + /** + * A callback to use instead of the default one. + */ + urlRegex?: RegExp; } } From bd3bd7fda8f25b8bb79930c6336b67c936338491 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 30 Mar 2022 07:57:42 -0700 Subject: [PATCH 2/2] Remove duplicate interface --- addons/xterm-addon-web-links/src/WebLinkProvider.ts | 3 ++- addons/xterm-addon-web-links/src/WebLinksAddon.ts | 10 ++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/addons/xterm-addon-web-links/src/WebLinkProvider.ts b/addons/xterm-addon-web-links/src/WebLinkProvider.ts index f0caf974..a620bc5e 100644 --- a/addons/xterm-addon-web-links/src/WebLinkProvider.ts +++ b/addons/xterm-addon-web-links/src/WebLinkProvider.ts @@ -5,9 +5,10 @@ import { ILinkProvider, ILink, Terminal, IViewportRange } from 'xterm'; -interface ILinkProviderOptions { +export interface ILinkProviderOptions { hover?(event: MouseEvent, text: string, location: IViewportRange): void; leave?(event: MouseEvent, text: string): void; + urlRegex?: RegExp; } export class WebLinkProvider implements ILinkProvider { diff --git a/addons/xterm-addon-web-links/src/WebLinksAddon.ts b/addons/xterm-addon-web-links/src/WebLinksAddon.ts index aae921ec..285ef5dc 100644 --- a/addons/xterm-addon-web-links/src/WebLinksAddon.ts +++ b/addons/xterm-addon-web-links/src/WebLinksAddon.ts @@ -3,8 +3,8 @@ * @license MIT */ -import { Terminal, ILinkMatcherOptions, ITerminalAddon, IDisposable, IViewportRange } from 'xterm'; -import { WebLinkProvider } from './WebLinkProvider'; +import { Terminal, ILinkMatcherOptions, ITerminalAddon, IDisposable } from 'xterm'; +import { ILinkProviderOptions, WebLinkProvider } from './WebLinkProvider'; const protocolClause = '(https?:\\/\\/)'; const domainCharacterSet = '[\\da-z\\.-]+'; @@ -40,12 +40,6 @@ function handleLink(event: MouseEvent, uri: string): void { } } -interface ILinkProviderOptions { - hover?(event: MouseEvent, text: string, location: IViewportRange): void; - leave?(event: MouseEvent, text: string): void; - urlRegex?: RegExp; -} - export class WebLinksAddon implements ITerminalAddon { private _linkMatcherId: number | undefined; private _terminal: Terminal | undefined;