提交 81631348 编写于 作者: K Kevin Pilch-Bisson

Fix merge issues that made filtering completion to nothing crash VS

Fixes #11559
上级 b532942b
......@@ -125,8 +125,8 @@ internal override void OnModelUpdated(Model modelOpt)
else
{
var selectedItem = modelOpt.SelectedItem;
var viewSpan = modelOpt.GetViewBufferSpan(selectedItem.Item.Span);
var triggerSpan = modelOpt.GetCurrentSpanInSnapshot(viewSpan, this.TextView.TextSnapshot)
var viewSpan = selectedItem == null ? (ViewTextSpan?)null : modelOpt.GetViewBufferSpan(selectedItem.Item.Span);
var triggerSpan = viewSpan == null ? null : modelOpt.GetCurrentSpanInSnapshot(viewSpan.Value, this.TextView.TextSnapshot)
.CreateTrackingSpan(SpanTrackingMode.EdgeInclusive);
sessionOpt.PresenterSession.PresentItems(
......
......@@ -62,10 +62,7 @@ internal class Model
ITrackingPoint commitSpanEndPoint,
bool dismissIfEmpty)
{
Contract.ThrowIfNull(selectedItem);
Contract.ThrowIfFalse(totalItems.Length != 0, "Must have at least one item.");
Contract.ThrowIfFalse(filteredItems.Length != 0, "Must have at least one filtered item.");
Contract.ThrowIfFalse(filteredItems.Contains(selectedItem) || defaultSuggestionModeItem == selectedItem, "Selected item must be in filtered items.");
_disconnectedBufferGraph = disconnectedBufferGraph;
this.OriginalList = originalList;
......
......@@ -87,12 +87,16 @@ void ICompletionSet.SetTrackingSpan(ITrackingSpan trackingSpan)
var applicableToText = this.ApplicableTo.GetText(this.ApplicableTo.TextBuffer.CurrentSnapshot);
var filteredSuggestionModeItem = new SimplePresentationItem(
SimplePresentationItem filteredSuggestionModeItem = null;
if (selectedItem != null)
{
filteredSuggestionModeItem = new SimplePresentationItem(
CompletionItem.Create(
displayText: applicableToText,
span: this.ApplicableTo.GetSpan(this.ApplicableTo.TextBuffer.CurrentSnapshot).Span.ToTextSpan()),
selectedItem.CompletionService,
isSuggestionModeItem: true);
}
var showBuilder = suggestionMode || presetBuilder != null;
var bestSuggestionModeItem = applicableToText.Length > 0 ? filteredSuggestionModeItem : presetBuilder ?? filteredSuggestionModeItem;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册