From a6b4928b284ac1cfa9151b73779664aaf5dd379f Mon Sep 17 00:00:00 2001 From: CyrusNajmabadi Date: Sun, 19 Jun 2016 14:16:45 -0700 Subject: [PATCH] Make all parameters non-optional. --- .../Completion/Controller.Session.cs | 4 +++- .../Controller.Session_FilterModel.cs | 11 +++++++---- .../IntelliSense/Completion/Controller.cs | 17 ++++++++++++++--- .../Completion/Controller_Backspace.cs | 6 +++++- .../Controller_OnTextViewBufferPostChanged.cs | 6 +++++- .../Completion/Controller_TabKey.cs | 3 ++- .../Completion/Controller_TypeChar.cs | 11 +++++++++-- 7 files changed, 45 insertions(+), 13 deletions(-) diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session.cs index 81cd47fe881..eac11966b68 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session.cs @@ -101,7 +101,9 @@ private void OnPresenterSessionItemSelected(object sender, PresentationItemEvent // Update the filter state for the model. Note: if we end up filtering everything // out we do *not* want to dismiss the completion list. this.FilterModel(CompletionFilterReason.ItemFiltersChanged, - dismissIfEmptyAllowed: false, filterState: e.FilterState); + recheckCaretPosition: false, + dismissIfEmptyAllowed: false, + filterState: e.FilterState); } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs index 98abbfab2a1..af296e0664d 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs @@ -19,9 +19,9 @@ internal partial class Session { public void FilterModel( CompletionFilterReason filterReason, - bool recheckCaretPosition = false, - bool dismissIfEmptyAllowed = true, - ImmutableDictionary filterState = null) + bool recheckCaretPosition, + bool dismissIfEmptyAllowed, + ImmutableDictionary filterState) { AssertIsForeground(); @@ -46,7 +46,10 @@ internal partial class Session }); } - public void IdentifyBestMatchAndFilterToAllItems(CompletionFilterReason filterReason, bool recheckCaretPosition = false, bool dismissIfEmptyAllowed = true) + public void IdentifyBestMatchAndFilterToAllItems( + CompletionFilterReason filterReason, + bool recheckCaretPosition, + bool dismissIfEmptyAllowed) { AssertIsForeground(); diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs index 3ffcfb67810..9a536a921b0 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs @@ -143,7 +143,11 @@ private bool StartNewModelComputation(CompletionService completionService, bool CompletionTrigger.Default, filterItems, dismissIfEmptyAllowed); } - private bool StartNewModelComputation(CompletionService completionService, CompletionTrigger trigger, bool filterItems, bool dismissIfEmptyAllowed = true) + private bool StartNewModelComputation( + CompletionService completionService, + CompletionTrigger trigger, + bool filterItems, + bool dismissIfEmptyAllowed = true) { AssertIsForeground(); Contract.ThrowIfTrue(sessionOpt != null); @@ -183,11 +187,18 @@ private bool StartNewModelComputation(CompletionService completionService, Compl if (filterItems) { - sessionOpt.FilterModel(filterReason, dismissIfEmptyAllowed: dismissIfEmptyAllowed); + sessionOpt.FilterModel( + filterReason, + recheckCaretPosition: false, + dismissIfEmptyAllowed: dismissIfEmptyAllowed, + filterState: null); } else { - sessionOpt.IdentifyBestMatchAndFilterToAllItems(filterReason, dismissIfEmptyAllowed: dismissIfEmptyAllowed); + sessionOpt.IdentifyBestMatchAndFilterToAllItems( + filterReason, + recheckCaretPosition: false, + dismissIfEmptyAllowed: dismissIfEmptyAllowed); } return true; diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Backspace.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Backspace.cs index 1fbc261223d..9db4c815033 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Backspace.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Backspace.cs @@ -100,7 +100,11 @@ private void ExecuteBackspaceOrDelete(ITextView textView, Action nextHandler, bo else if (model != null && model.Trigger.Kind != CompletionTriggerKind.Deletion) { // Filter the model if it wasn't invoked on backspace. - sessionOpt.FilterModel(CompletionFilterReason.BackspaceOrDelete); + sessionOpt.FilterModel( + CompletionFilterReason.BackspaceOrDelete, + recheckCaretPosition: false, + dismissIfEmptyAllowed: true, + filterState: null); } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_OnTextViewBufferPostChanged.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_OnTextViewBufferPostChanged.cs index 9f3e4ca78ca..c76793cd4ce 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_OnTextViewBufferPostChanged.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_OnTextViewBufferPostChanged.cs @@ -30,7 +30,11 @@ internal override void OnTextViewBufferPostChanged(object sender, EventArgs e) else { // Filter the model, recheck the caret position if we haven't computed the initial model yet - sessionOpt.FilterModel(CompletionFilterReason.TypeChar, recheckCaretPosition: model == null); + sessionOpt.FilterModel( + CompletionFilterReason.TypeChar, + recheckCaretPosition: model == null, + dismissIfEmptyAllowed: true, + filterState: null); } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs index 7bb4adc39c4..6bb336cd83d 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs @@ -118,7 +118,8 @@ private bool TryInvokeSnippetCompletion(TabKeyCommandArgs args, CompletionServic // we delete the last that was typed. var textChange = new TextChange(TextSpan.FromBounds(caretPoint - 1, caretPoint), string.Empty); workspace.ApplyTextChanges(documentId, textChange, CancellationToken.None); - this.StartNewModelComputation(completionService, new CompletionTrigger(CompletionTriggerKind.Snippets), filterItems: false); + this.StartNewModelComputation( + completionService, new CompletionTrigger(CompletionTriggerKind.Snippets), filterItems: false); return true; } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs index bfce469e3a1..d6c7d220055 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs @@ -175,7 +175,11 @@ void ICommandHandler.ExecuteCommand(TypeCharCommandArgs arg } // Now filter whatever result we have. - sessionOpt.FilterModel(CompletionFilterReason.TypeChar); + sessionOpt.FilterModel( + CompletionFilterReason.TypeChar, + recheckCaretPosition: false, + dismissIfEmptyAllowed: true, + filterState: null); } else { @@ -201,7 +205,10 @@ void ICommandHandler.ExecuteCommand(TypeCharCommandArgs arg // Known to be a filter character for the currently selected item. So just // filter the session. - sessionOpt.FilterModel(CompletionFilterReason.TypeChar); + sessionOpt.FilterModel(CompletionFilterReason.TypeChar, + recheckCaretPosition: false, + dismissIfEmptyAllowed: true, + filterState: null); return; } -- GitLab