Merge pull request #2512 from Tyriar/refine_range
Refine IViewportRange API to use 'cursor positions' for x value
This commit is contained in:
@@ -308,7 +308,7 @@ export class Linkifier implements ILinkifier {
|
|||||||
if (matcher.hoverTooltipCallback) {
|
if (matcher.hoverTooltipCallback) {
|
||||||
// Note that IViewportRange use 1-based coordinates to align with escape sequences such
|
// 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
|
// 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 } });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
|
|||||||
Vendored
+5
-5
@@ -44,13 +44,13 @@ export interface IViewport extends IDisposable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface IViewportRange {
|
export interface IViewportRange {
|
||||||
start: IViewportCellPosition;
|
start: IViewportRangePosition;
|
||||||
end: IViewportCellPosition;
|
end: IViewportRangePosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IViewportCellPosition {
|
export interface IViewportRangePosition {
|
||||||
col: number;
|
x: number;
|
||||||
row: number;
|
y: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type LinkMatcherHandler = (event: MouseEvent, uri: string) => void;
|
export type LinkMatcherHandler = (event: MouseEvent, uri: string) => void;
|
||||||
|
|||||||
Vendored
+14
-9
@@ -864,29 +864,34 @@ declare module 'xterm' {
|
|||||||
*/
|
*/
|
||||||
export interface IViewportRange {
|
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.
|
* 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user