diff --git a/src/browser/Linkifier2.ts b/src/browser/Linkifier2.ts index 94e1ced1..128c21ee 100644 --- a/src/browser/Linkifier2.ts +++ b/src/browser/Linkifier2.ts @@ -185,7 +185,9 @@ export class Linkifier2 implements ILinkifier2 { const range = link.range; const scrollOffset = this._bufferService.buffer.ydisp; - this._onLinkHover.fire(this._createLinkHoverEvent(range.start.x - 1, range.start.y - scrollOffset - 1, range.end.x, range.end.y - scrollOffset - 1, undefined)); + if (!link.hideUnderline) { + this._onLinkHover.fire(this._createLinkHoverEvent(range.start.x - 1, range.start.y - scrollOffset - 1, range.end.x, range.end.y - scrollOffset - 1, undefined)); + } element.classList.add('xterm-cursor-pointer'); if (link.hover) { diff --git a/src/browser/Types.d.ts b/src/browser/Types.d.ts index c2b8604e..fc790a7e 100644 --- a/src/browser/Types.d.ts +++ b/src/browser/Types.d.ts @@ -172,6 +172,7 @@ interface ILinkProvider { interface ILink { range: IBufferRange; text: string; + hideUnderline?: boolean; activate(event: MouseEvent, text: string): void; hover?(event: MouseEvent, text: string): void; leave?(event: MouseEvent, text: string): void; diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index 79379058..9830f4d9 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -1120,6 +1120,11 @@ declare module 'xterm' { */ text: string; + /** + * Whether to hide the link's underline. + */ + hideUnderline?: boolean; + /** * Calls when the link is activated. * @param event The mouse event triggering the callback.