@@ -478,6 +478,7 @@ export class DataTipManager {
478
478
479
479
// makes the text selectable with the help of user-select: text
480
480
element . setAttribute ( "tabindex" , "-1" )
481
+ overlayFocusFix ( editor , element )
481
482
482
483
editor . decorateMarker ( overlayMarker , {
483
484
type : "overlay" ,
@@ -487,7 +488,6 @@ export class DataTipManager {
487
488
} )
488
489
disposables . add ( new Disposable ( ( ) => overlayMarker . destroy ( ) ) )
489
490
490
- const editorComponent = atom . views . getView ( editor ) . getComponent ( )
491
491
492
492
element . addEventListener ( "mouseenter" , ( ) => {
493
493
this . editorView ?. removeEventListener ( "mousemove" , this . onMouseMoveEvt )
@@ -499,17 +499,6 @@ export class DataTipManager {
499
499
element . removeEventListener ( "keydown" , copyListener )
500
500
} )
501
501
502
- /**
503
- - focus on the datatip once the text is selected (cursor gets disabled temporarily)
504
- - remove focus once mouse leaves
505
- */
506
- element . addEventListener ( "mousedown" , ( ) => {
507
- blurEditor ( editorComponent )
508
- element . addEventListener ( "mouseleave" , ( ) => {
509
- focusEditor ( editorComponent )
510
- } )
511
- } )
512
-
513
502
// TODO move this code to atom-ide-base
514
503
element . addEventListener ( "wheel" , this . onMouseWheel , { passive : true } )
515
504
@@ -533,6 +522,21 @@ export class DataTipManager {
533
522
}
534
523
}
535
524
525
+ function overlayFocusFix ( editor : TextEditor , element : HTMLElement ) {
526
+ const editorComponent = atom . views . getView ( editor ) . getComponent ( )
527
+ /**
528
+ - focus on the datatip once the text is selected (cursor gets disabled temporarily)
529
+ - remove focus once mouse leaves
530
+ */
531
+ element . addEventListener ( "mousedown" , ( ) => {
532
+ blurEditor ( editorComponent )
533
+ element . addEventListener ( "mouseleave" , ( ) => {
534
+ focusEditor ( editorComponent )
535
+ } )
536
+ } )
537
+
538
+ }
539
+
536
540
// TODO we should not need this
537
541
/** A manual copy listener */
538
542
async function copyListener ( event : KeyboardEvent ) {
0 commit comments