@Override
  public void mouseMoved(@NotNull EditorMouseEvent e) {
    if (e.isConsumed() || !Registry.is(DataViewsConfigurableUi.DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_KEY)) {
      return;
    }

    Editor editor = e.getEditor();
    if (editor.getProject() != null && editor.getProject() != myProject) {
      return;
    }

    ValueHintType type = AbstractValueHint.getHintType(e);
    if (e.getArea() != EditorMouseEventArea.EDITING_AREA ||
        DISABLE_VALUE_LOOKUP.get(editor) == Boolean.TRUE ||
        type == null) {
      cancelAll();
      return;
    }

    if (type == ValueHintType.MOUSE_OVER_HINT && !ApplicationManager.getApplication().isActive()) {
      hideHint();
      return;
    }

    if (type != ValueHintType.MOUSE_CLICK_HINT) { // click should always trigger a new hint
      if ((myHintRequest != null && myHintRequest.type == ValueHintType.MOUSE_CLICK_HINT) ||
          (myCurrentHint != null && myCurrentHint.getType() == ValueHintType.MOUSE_CLICK_HINT)) {
        return;
      }
    }

    Point point = e.getMouseEvent().getPoint();
    for (DebuggerSupport support : DebuggerSupport.getDebuggerSupports()) {
      QuickEvaluateHandler handler = support.getQuickEvaluateHandler();
      if (handler.isEnabled(myProject)) {
        requestHint(handler, editor, point, e, type);
        return;
      }
    }

    // if no providers were triggered - hide
    hideHint();
  }
@Override
  public void mouseMoved(@NotNull EditorMouseEvent e)