Update API to use IViewportRange and IViewportCellPosition
This commit is contained in:
@@ -306,7 +306,7 @@ export class Linkifier implements ILinkifier {
|
|||||||
e => {
|
e => {
|
||||||
this._onLinkTooltip.fire(this._createLinkHoverEvent(x1, y1, x2, y2, fg));
|
this._onLinkTooltip.fire(this._createLinkHoverEvent(x1, y1, x2, y2, fg));
|
||||||
if (matcher.hoverTooltipCallback) {
|
if (matcher.hoverTooltipCallback) {
|
||||||
matcher.hoverTooltipCallback(e, uri, { startRow: y1, startColumn: x1, endRow: y2, endColumn: x2 });
|
matcher.hoverTooltipCallback(e, uri, { start: { row: y1, col: x1 }, end: { row: y2, col: x2 } });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
|
|||||||
Vendored
+9
-6
@@ -43,15 +43,18 @@ export interface IViewport extends IDisposable {
|
|||||||
onThemeChange(colors: IColorSet): void;
|
onThemeChange(colors: IColorSet): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ILinkLocation {
|
export interface IViewportRange {
|
||||||
startColumn: number;
|
start: IViewportCellPosition;
|
||||||
startRow: number;
|
end: IViewportCellPosition;
|
||||||
endColumn: number;
|
}
|
||||||
endRow: number;
|
|
||||||
|
export interface IViewportCellPosition {
|
||||||
|
col: number;
|
||||||
|
row: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type LinkMatcherHandler = (event: MouseEvent, uri: string) => void;
|
export type LinkMatcherHandler = (event: MouseEvent, uri: string) => void;
|
||||||
export type LinkMatcherHoverTooltipCallback = (event: MouseEvent, uri: string, position: ILinkLocation) => void;
|
export type LinkMatcherHoverTooltipCallback = (event: MouseEvent, uri: string, position: IViewportRange) => void;
|
||||||
export type LinkMatcherValidationCallback = (uri: string, callback: (isValid: boolean) => void) => void;
|
export type LinkMatcherValidationCallback = (uri: string, callback: (isValid: boolean) => void) => void;
|
||||||
|
|
||||||
export interface ILinkMatcher {
|
export interface ILinkMatcher {
|
||||||
|
|||||||
Vendored
+19
-14
@@ -269,7 +269,7 @@ declare module 'xterm' {
|
|||||||
/**
|
/**
|
||||||
* A callback that fires when the mouse hovers over a link for a moment.
|
* A callback that fires when the mouse hovers over a link for a moment.
|
||||||
*/
|
*/
|
||||||
tooltipCallback?: (event: MouseEvent, uri: string, location: ILinkLocation) => boolean | void;
|
tooltipCallback?: (event: MouseEvent, uri: string, location: IViewportRange) => boolean | void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A callback that fires when the mouse leaves a link. Note that this can
|
* A callback that fires when the mouse leaves a link. Note that this can
|
||||||
@@ -843,28 +843,33 @@ declare module 'xterm' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An object representing a link location within the terminal.
|
* An object representing a range within the viewport of the terminal.
|
||||||
*/
|
*/
|
||||||
interface ILinkLocation {
|
interface IViewportRange {
|
||||||
/**
|
/**
|
||||||
* The start column of the link.
|
* The start cell of the range.
|
||||||
*/
|
*/
|
||||||
startColumn: number;
|
start: IViewportCellPosition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The start row of the link.
|
* The end cell of the range.
|
||||||
*/
|
*/
|
||||||
startRow: number;
|
end: IViewportCellPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An object representing a cell within the viewport of the terminal.
|
||||||
|
*/
|
||||||
|
interface IViewportCellPosition {
|
||||||
|
/**
|
||||||
|
* The column of the cell.
|
||||||
|
*/
|
||||||
|
col: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The end column of the link.
|
* The row of the cell.
|
||||||
*/
|
*/
|
||||||
endColumn: number;
|
row: number;
|
||||||
|
|
||||||
/**
|
|
||||||
* The end row of the link.
|
|
||||||
*/
|
|
||||||
endRow: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user