1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 19:48:20 +02:00

Add "Time Autocomplete" internal IDE flag

This commit is contained in:
Brian Fiete 2021-12-27 14:25:34 -05:00
parent 1d30beb2d2
commit b57ac935e5
4 changed files with 13 additions and 0 deletions

View file

@ -78,6 +78,7 @@ namespace IDE.Compiler
public bool mCancelled; public bool mCancelled;
public int32 mTextVersion = -1; public int32 mTextVersion = -1;
public bool mIsUserRequested; public bool mIsUserRequested;
public Stopwatch mStopwatch ~ delete _;
} }
public class BfParser : ILeakIdentifiable public class BfParser : ILeakIdentifiable

View file

@ -169,6 +169,7 @@ namespace IDE
public bool mLastCompileHadMessages; public bool mLastCompileHadMessages;
public bool mPauseOnExit; public bool mPauseOnExit;
public bool mDbgDelayedAutocomplete; public bool mDbgDelayedAutocomplete;
public bool mDbgTimeAutocomplete;
public BeefConfig mBeefConfig = new BeefConfig() ~ delete _; public BeefConfig mBeefConfig = new BeefConfig() ~ delete _;
public List<String> mDeferredFails = new .() ~ DeleteContainerAndItems!(_); public List<String> mDeferredFails = new .() ~ DeleteContainerAndItems!(_);
public String mInitialCWD = new .() ~ delete _; public String mInitialCWD = new .() ~ delete _;
@ -5429,6 +5430,7 @@ namespace IDE
var internalEditMenu = subMenu.AddMenuItem("Internal"); var internalEditMenu = subMenu.AddMenuItem("Internal");
internalEditMenu.AddMenuItem("Hilight Cursor References", null, new (menu) => { ToggleCheck(menu, ref gApp.mSettings.mEditorSettings.mHiliteCursorReferences); }, null, null, true, gApp.mSettings.mEditorSettings.mHiliteCursorReferences ? 1 : 0); internalEditMenu.AddMenuItem("Hilight Cursor References", null, new (menu) => { ToggleCheck(menu, ref gApp.mSettings.mEditorSettings.mHiliteCursorReferences); }, null, null, true, gApp.mSettings.mEditorSettings.mHiliteCursorReferences ? 1 : 0);
internalEditMenu.AddMenuItem("Delayed Autocomplete", null, new (menu) => { ToggleCheck(menu, ref gApp.mDbgDelayedAutocomplete); }, null, null, true, gApp.mDbgDelayedAutocomplete ? 1 : 0); internalEditMenu.AddMenuItem("Delayed Autocomplete", null, new (menu) => { ToggleCheck(menu, ref gApp.mDbgDelayedAutocomplete); }, null, null, true, gApp.mDbgDelayedAutocomplete ? 1 : 0);
internalEditMenu.AddMenuItem("Time Autocomplete", null, new (menu) => { ToggleCheck(menu, ref gApp.mDbgTimeAutocomplete); }, null, null, true, gApp.mDbgTimeAutocomplete ? 1 : 0);
} }
////////// //////////

View file

@ -1128,6 +1128,7 @@ namespace IDE.ui
} }
} }
public Stopwatch mStopwatch ~ delete _;
public EditWidget mTargetEditWidget; public EditWidget mTargetEditWidget;
public Event<Action> mOnAutoCompleteInserted ~ _.Dispose(); public Event<Action> mOnAutoCompleteInserted ~ _.Dispose();
public Event<Action> mOnClosed ~ _.Dispose(); public Event<Action> mOnClosed ~ _.Dispose();

View file

@ -618,6 +618,8 @@ namespace IDE.ui
//Classify(options.HasFlag(.HighPriority) ? ResolveType.Autocomplete_HighPri : ResolveType.Autocomplete); //Classify(options.HasFlag(.HighPriority) ? ResolveType.Autocomplete_HighPri : ResolveType.Autocomplete);
ResolveParams resolveParams = new ResolveParams(); ResolveParams resolveParams = new ResolveParams();
if (gApp.mDbgTimeAutocomplete)
resolveParams.mStopwatch = new .()..Start();
resolveParams.mIsUserRequested = options.HasFlag(.UserRequested); resolveParams.mIsUserRequested = options.HasFlag(.UserRequested);
Classify(.Autocomplete, resolveParams); Classify(.Autocomplete, resolveParams);
if (!resolveParams.mInDeferredList) if (!resolveParams.mInDeferredList)
@ -5540,6 +5542,13 @@ namespace IDE.ui
HandleResolveResult(resolveResult.mResolveType, resolveResult.mAutocompleteInfo, resolveResult); HandleResolveResult(resolveResult.mResolveType, resolveResult.mAutocompleteInfo, resolveResult);
if (resolveResult.mStopwatch != null)
{
resolveResult.mStopwatch.Stop();
if (var autoComplete = GetAutoComplete())
Debug.WriteLine($"Autocomplete {resolveResult.mStopwatch.ElapsedMilliseconds}ms entries: {autoComplete.mAutoCompleteListWidget.mEntryList.Count}");
}
//Debug.WriteLine("ProcessDeferredResolveResults finished {0}", resolveResult.mResolveType); //Debug.WriteLine("ProcessDeferredResolveResults finished {0}", resolveResult.mResolveType);
//bool checkIt = (mFilePath.Contains("Program.bf")) && (mEditWidget.mEditWidgetContent.mData.mCurTextVersionId > 3); //bool checkIt = (mFilePath.Contains("Program.bf")) && (mEditWidget.mEditWidgetContent.mData.mCurTextVersionId > 3);