Skip to content

Commit 25018be

Browse files
committed
Add IMouseTargetOutsideEditor.outsidePosition
1 parent 3f92eb6 commit 25018be

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

src/vs/editor/browser/controller/mouseHandler.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -501,12 +501,12 @@ class MouseDownOperation extends Disposable {
501501
if (viewZoneData) {
502502
const newPosition = this._helpPositionJumpOverViewZone(viewZoneData);
503503
if (newPosition) {
504-
return MouseTarget.createOutsideEditor(mouseColumn, newPosition);
504+
return MouseTarget.createOutsideEditor(mouseColumn, newPosition, 'above');
505505
}
506506
}
507507

508508
const aboveLineNumber = viewLayout.getLineNumberAtVerticalOffset(verticalOffset);
509-
return MouseTarget.createOutsideEditor(mouseColumn, new Position(aboveLineNumber, 1));
509+
return MouseTarget.createOutsideEditor(mouseColumn, new Position(aboveLineNumber, 1), 'above');
510510
}
511511

512512
if (e.posy > editorContent.y + editorContent.height) {
@@ -515,22 +515,22 @@ class MouseDownOperation extends Disposable {
515515
if (viewZoneData) {
516516
const newPosition = this._helpPositionJumpOverViewZone(viewZoneData);
517517
if (newPosition) {
518-
return MouseTarget.createOutsideEditor(mouseColumn, newPosition);
518+
return MouseTarget.createOutsideEditor(mouseColumn, newPosition, 'below');
519519
}
520520
}
521521

522522
const belowLineNumber = viewLayout.getLineNumberAtVerticalOffset(verticalOffset);
523-
return MouseTarget.createOutsideEditor(mouseColumn, new Position(belowLineNumber, model.getLineMaxColumn(belowLineNumber)));
523+
return MouseTarget.createOutsideEditor(mouseColumn, new Position(belowLineNumber, model.getLineMaxColumn(belowLineNumber)), 'below');
524524
}
525525

526526
const possibleLineNumber = viewLayout.getLineNumberAtVerticalOffset(viewLayout.getCurrentScrollTop() + e.relativePos.y);
527527

528528
if (e.posx < editorContent.x) {
529-
return MouseTarget.createOutsideEditor(mouseColumn, new Position(possibleLineNumber, 1));
529+
return MouseTarget.createOutsideEditor(mouseColumn, new Position(possibleLineNumber, 1), 'left');
530530
}
531531

532532
if (e.posx > editorContent.x + editorContent.width) {
533-
return MouseTarget.createOutsideEditor(mouseColumn, new Position(possibleLineNumber, model.getLineMaxColumn(possibleLineNumber)));
533+
return MouseTarget.createOutsideEditor(mouseColumn, new Position(possibleLineNumber, model.getLineMaxColumn(possibleLineNumber)), 'right');
534534
}
535535

536536
return null;

src/vs/editor/browser/controller/mouseTarget.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ export class MouseTarget {
9999
public static createOverlayWidget(element: Element | null, mouseColumn: number, detail: string): IMouseTargetOverlayWidget {
100100
return { type: MouseTargetType.OVERLAY_WIDGET, element, mouseColumn, position: null, range: null, detail };
101101
}
102-
public static createOutsideEditor(mouseColumn: number, position: Position): IMouseTargetOutsideEditor {
103-
return { type: MouseTargetType.OUTSIDE_EDITOR, element: null, mouseColumn, position, range: this._deduceRage(position) };
102+
public static createOutsideEditor(mouseColumn: number, position: Position, outsidePosition: 'above' | 'below' | 'left' | 'right'): IMouseTargetOutsideEditor {
103+
return { type: MouseTargetType.OUTSIDE_EDITOR, element: null, mouseColumn, position, range: this._deduceRage(position), outsidePosition };
104104
}
105105

106106
private static _typeToString(type: MouseTargetType): string {

src/vs/editor/browser/editorBrowser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@ export interface IMouseTargetOverviewRuler extends IBaseMouseTarget {
391391
}
392392
export interface IMouseTargetOutsideEditor extends IBaseMouseTarget {
393393
readonly type: MouseTargetType.OUTSIDE_EDITOR;
394+
readonly outsidePosition: 'above' | 'below' | 'left' | 'right';
394395
}
395396
/**
396397
* Target hit with the mouse in the editor.

src/vs/monaco.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5046,6 +5046,7 @@ declare namespace monaco.editor {
50465046

50475047
export interface IMouseTargetOutsideEditor extends IBaseMouseTarget {
50485048
readonly type: MouseTargetType.OUTSIDE_EDITOR;
5049+
readonly outsidePosition: 'above' | 'below' | 'left' | 'right';
50495050
}
50505051

50515052
/**

0 commit comments

Comments
 (0)