diff --git a/src/browser/Linkifier.ts b/src/browser/Linkifier.ts index ecaf8af9..58aca70e 100644 --- a/src/browser/Linkifier.ts +++ b/src/browser/Linkifier.ts @@ -308,7 +308,7 @@ export class Linkifier implements ILinkifier { if (matcher.hoverTooltipCallback) { // Note that IViewportRange use 1-based coordinates to align with escape sequences such // as CUP which use 1,1 as the default for row/col - matcher.hoverTooltipCallback(e, uri, { start: { row: y1 + 1, col: x1 + 1 }, end: { row: y2 + 1, col: x2 } }); + matcher.hoverTooltipCallback(e, uri, { start: { x: x1, y: y1 }, end: { x: x2, y: y2 } }); } }, () => { diff --git a/src/browser/Types.d.ts b/src/browser/Types.d.ts index 274fc16f..aa7a4c86 100644 --- a/src/browser/Types.d.ts +++ b/src/browser/Types.d.ts @@ -44,13 +44,13 @@ export interface IViewport extends IDisposable { } export interface IViewportRange { - start: IViewportCellPosition; - end: IViewportCellPosition; + start: IViewportRangePosition; + end: IViewportRangePosition; } -export interface IViewportCellPosition { - col: number; - row: number; +export interface IViewportRangePosition { + x: number; + y: number; } export type LinkMatcherHandler = (event: MouseEvent, uri: string) => void; diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index 7d19283f..295a03b2 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -864,29 +864,34 @@ declare module 'xterm' { */ export interface IViewportRange { /** - * The start cell of the range. + * The start of the range. */ - start: IViewportCellPosition; + start: IViewportRangePosition; /** - * The end cell of the range. + * The end of the range. */ - end: IViewportCellPosition; + end: IViewportRangePosition; } /** * An object representing a cell position within the viewport of the terminal. */ - interface IViewportCellPosition { + interface IViewportRangePosition { /** - * The column of the cell. Note that this is 1-based; the first column is column 1. + * The x position of the cell. This is a 0-based index that refers to the + * space in between columns, not the column itself. Index 0 refers to the + * left side of the viewport, index `Terminal.cols` refers to the right side + * of the viewport. This can be thought of as how a cursor is positioned in + * a text editor. */ - col: number; + x: number; /** - * The row of the cell. Note that this is 1-based; the first row is row 1. + * The y position of the cell. This is a 0-based index that refers to a + * specific row. */ - row: number; + y: number; } /**