1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-11 04:52:21 +02:00

Improved errors on GoToDefinition

This commit is contained in:
Brian Fiete 2020-04-07 08:29:54 -07:00
parent 15c3ad98de
commit a5e0f34549
4 changed files with 13 additions and 8 deletions

View file

@ -200,7 +200,7 @@ namespace IDE
Add("Find in Files", new => gApp.Cmd_Find); Add("Find in Files", new => gApp.Cmd_Find);
Add("Find Next", new => gApp.Cmd_FindNext); Add("Find Next", new => gApp.Cmd_FindNext);
Add("Find Prev", new => gApp.Cmd_FindPrev); Add("Find Prev", new => gApp.Cmd_FindPrev);
Add("Goto Definition", new => gApp.GoToDefinition); Add("Goto Definition", new () => gApp.GoToDefinition(true));
Add("Goto Line", new => gApp.Cmd_GotoLine); Add("Goto Line", new => gApp.Cmd_GotoLine);
Add("Goto Method", new => gApp.Cmd_GotoMethod); Add("Goto Method", new => gApp.Cmd_GotoMethod);
Add("Goto Next Item", new => gApp.Cmd_GotoNextItem); Add("Goto Next Item", new => gApp.Cmd_GotoNextItem);

View file

@ -3735,15 +3735,20 @@ namespace IDE
mInDisassemblyView = true; mInDisassemblyView = true;
} }
public void GoToDefinition() public void GoToDefinition(bool force)
{ {
var sourceViewPanel = GetActiveSourceViewPanel(); var sourceViewPanel = GetActiveSourceViewPanel();
if (sourceViewPanel != null) if (sourceViewPanel != null)
{ {
int line; if (!force)
int lineChar; {
sourceViewPanel.mEditWidget.Content.GetCursorLineChar(out line, out lineChar); if ((!sourceViewPanel.mIsBeefSource) || (sourceViewPanel.mProjectSource == null))
return;
}
if ((!sourceViewPanel.mEditWidget.Content.GetCursorLineChar(var line, var lineChar)) && (!force))
return;
if (!sourceViewPanel.HasTextAtCursor()) if (!sourceViewPanel.HasTextAtCursor())
return; return;

View file

@ -801,7 +801,7 @@ namespace IDE.ui
if (gApp.mBfResolveCompiler.HasResolvedAll()) if (gApp.mBfResolveCompiler.HasResolvedAll())
{ {
Close(); Close();
gApp.GoToDefinition(); gApp.GoToDefinition(true);
} }
if (mSourceViewPanel.EditWidget.Content.CursorTextPos != mCursorPos) if (mSourceViewPanel.EditWidget.Content.CursorTextPos != mCursorPos)

View file

@ -2967,7 +2967,7 @@ namespace IDE.ui
if ((btn == 0) && (mWidgetWindow.IsKeyDown(.Control)) && (x == origX) && (y == origY)) if ((btn == 0) && (mWidgetWindow.IsKeyDown(.Control)) && (x == origX) && (y == origY))
{ {
gApp.GoToDefinition(); gApp.GoToDefinition(false);
return; return;
} }
@ -3003,7 +3003,7 @@ namespace IDE.ui
menuItem = menu.AddItem("Go to Definition"); menuItem = menu.AddItem("Go to Definition");
menuItem.SetDisabled(!hasText); menuItem.SetDisabled(!hasText);
menuItem.mOnMenuItemSelected.Add(new (evt) => gApp.GoToDefinition()); menuItem.mOnMenuItemSelected.Add(new (evt) => gApp.GoToDefinition(true));
menuItem = menu.AddItem("Rename Symbol"); menuItem = menu.AddItem("Rename Symbol");
menuItem.SetDisabled(!hasText); menuItem.SetDisabled(!hasText);