提交 a6b4928b 编写于 作者: C CyrusNajmabadi

Make all parameters non-optional.

上级 3610aa53
......@@ -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);
}
}
}
......
......@@ -19,9 +19,9 @@ internal partial class Session
{
public void FilterModel(
CompletionFilterReason filterReason,
bool recheckCaretPosition = false,
bool dismissIfEmptyAllowed = true,
ImmutableDictionary<CompletionItemFilter, bool> filterState = null)
bool recheckCaretPosition,
bool dismissIfEmptyAllowed,
ImmutableDictionary<CompletionItemFilter, bool> 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();
......
......@@ -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;
......
......@@ -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);
}
}
}
......
......@@ -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);
}
}
}
......
......@@ -118,7 +118,8 @@ private bool TryInvokeSnippetCompletion(TabKeyCommandArgs args, CompletionServic
// we delete the last <question> 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;
}
......
......@@ -175,7 +175,11 @@ void ICommandHandler<TypeCharCommandArgs>.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<TypeCharCommandArgs>.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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册