internal static void AddSuggestionsForFunctions(IntellisenseData.IntellisenseData intellisenseData) { // TASK: 76039: Intellisense: Update intellisense to filter suggestions based on the expected type of the text being typed in UI Contracts.AssertValue(intellisenseData); foreach (TexlFunction function in intellisenseData.Binding.NameResolver.Functions) { string qualifiedName = function.QualifiedName; int highlightStart = qualifiedName.IndexOf(intellisenseData.MatchingStr, StringComparison.OrdinalIgnoreCase); int highlightEnd = intellisenseData.MatchingStr.Length; if (intellisenseData.ShouldSuggestFunction(function)) { if (IsMatch(qualifiedName, intellisenseData.MatchingStr)) { AddFunctionOverloads(qualifiedName, intellisenseData.Suggestions, new IntellisenseSuggestion(function, intellisenseData.BoundTo, new UIString(qualifiedName, 0, highlightEnd))); } else if (highlightStart > -1) { AddFunctionOverloads(qualifiedName, intellisenseData.SubstringSuggestions, new IntellisenseSuggestion(function, intellisenseData.BoundTo, new UIString(qualifiedName, highlightStart, highlightStart + highlightEnd))); } } } }