1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-16 15:24:10 +02:00

Fixed Quick Info command

This commit is contained in:
Brian Fiete 2021-12-23 07:34:54 -05:00
parent 6c2d03c898
commit 6e869c5ac5
3 changed files with 20 additions and 3 deletions

View file

@ -3957,7 +3957,7 @@ namespace IDE
if (sourceViewPanel != null) if (sourceViewPanel != null)
{ {
if (sourceViewPanel.mEditWidget.mEditWidgetContent.GetCursorLineChar(var line, var lineChar)) if (sourceViewPanel.mEditWidget.mEditWidgetContent.GetCursorLineChar(var line, var lineChar))
sourceViewPanel.UpdateMouseover(true, true, line, lineChar); sourceViewPanel.UpdateMouseover(true, true, line, lineChar, true);
} }
} }

View file

@ -160,6 +160,8 @@ namespace IDE.ui
{ {
public int32 mCursorPos; public int32 mCursorPos;
public String mResult ~ delete _; public String mResult ~ delete _;
public int32? mLine;
public int32? mLineChar;
public ~this() public ~this()
{ {
@ -4722,7 +4724,7 @@ namespace IDE.ui
delete parser; delete parser;
} }
public void UpdateMouseover(bool mouseoverFired, bool mouseInbounds, int line, int lineChar) public void UpdateMouseover(bool mouseoverFired, bool mouseInbounds, int line, int lineChar, bool isManual = false)
{ {
@ -5008,6 +5010,11 @@ namespace IDE.ui
mHoverResolveTask = new HoverResolveTask(); mHoverResolveTask = new HoverResolveTask();
mHoverResolveTask.mCursorPos = (int32)textIdx; mHoverResolveTask.mCursorPos = (int32)textIdx;
if (isManual)
{
mHoverResolveTask.mLine = (.)line;
mHoverResolveTask.mLineChar = (.)lineChar;
}
} }
} }
@ -5201,6 +5208,16 @@ namespace IDE.ui
#if IDE_C_SUPPORT #if IDE_C_SUPPORT
hasClangHoverErrorData = mClangHoverErrorData != null; hasClangHoverErrorData = mClangHoverErrorData != null;
#endif #endif
if (mHoverResolveTask != null)
{
if (mHoverResolveTask.mLine != null)
{
UpdateMouseover(true, true, mHoverResolveTask.mLine.Value, mHoverResolveTask.mLineChar.Value, true);
return;
}
}
if (((mouseoverFired) || (mHoverWatch != null) || (hasClangHoverErrorData) || (mHoverResolveTask?.mResult != null)) && if (((mouseoverFired) || (mHoverWatch != null) || (hasClangHoverErrorData) || (mHoverResolveTask?.mResult != null)) &&
(mousePos.x >= 0)) (mousePos.x >= 0))
{ {

View file

@ -11441,7 +11441,7 @@ BfTypedValue BfExprEvaluator::DoImplicitArgCapture(BfAstNode* refNode, BfMethodI
BfMethodInstance* methodRefMethodInst = methodRefType->mMethodRef; BfMethodInstance* methodRefMethodInst = methodRefType->mMethodRef;
BF_ASSERT(methodRefMethodInst == methodInstance); BF_ASSERT(methodRefMethodInst == methodInstance);
auto paramType = methodInstance->GetParamType(paramIdx); auto paramType = methodInstance->GetParamType(paramIdx);
int dataIdx = methodRefType->GetDataIdxFromParamIdx(paramIdx); int dataIdx = methodRefType->GetDataIdxFromParamIdx(paramIdx);