in PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-bicep/src/main/java/org/wso2/lsp4intellij/editor/EditorEventManager.java [271:320]
public void mouseMoved(EditorMouseEvent e) {
if (e.getEditor() != editor) {
LOG.error("Wrong editor for EditorEventManager");
return;
}
PsiFile psiFile = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
if (psiFile == null) {
return;
}
Language language = psiFile.getLanguage();
if ((!LanguageDocumentation.INSTANCE.allForLanguage(language).isEmpty() && !isSupportedLanguageFile(psiFile))
|| (!getIsCtrlDown() && !EditorSettingsExternalizable.getInstance().isShowQuickDocOnMouseOverElement())) {
return;
}
long curTime = System.nanoTime();
if (predTime == (-1L) || ctrlTime == (-1L)) {
predTime = curTime;
ctrlTime = curTime;
} else {
LogicalPosition lPos = getPos(e);
if (lPos == null || getIsKeyPressed() && !getIsCtrlDown()) {
return;
}
int offset = editor.logicalPositionToOffset(lPos);
if ((getIsCtrlDown() || EditorSettingsExternalizable.getInstance().isShowQuickDocOnMouseOverElement())
&& curTime - ctrlTime > CTRL_THRESH) {
if (getCtrlRange() == null || !getCtrlRange().highlightContainsOffset(offset)) {
if (currentHint != null) {
currentHint.hide();
}
currentHint = null;
if (getCtrlRange() != null) {
getCtrlRange().dispose();
}
setCtrlRange(null);
pool(() -> requestAndShowDoc(lPos, e.getMouseEvent().getPoint()));
} else if (getCtrlRange().definitionContainsOffset(offset)) {
createAndShowEditorHint(editor, "Click to show usages", editor.offsetToXY(offset));
} else {
editor.getContentComponent().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}
ctrlTime = curTime;
}
predTime = curTime;
}
}