Represents a query parsing error.
This class is only used in the context of SearchProviders, when performing a search. It allows a SearchProvider to report error during the parsing of the search query. Here is an example of a SearchProvider that uses a QueryEngine and reports parsing errors:
public IEnumerable<T> Search(SearchContext context, SearchProvider provider, IEnumerable<T> subset = null) { var query = m_QueryEngine.ParseQuery(context.searchQuery, true); if (!query.valid) { if (reportError) context.AddSearchQueryErrors(query.errors.Select(e => new SearchQueryError(e, context, provider))); return Enumerable.Empty<T>(); } m_DoFuzzyMatch = query.HasToggle("fuzzy"); IEnumerable<T> gameObjects = subset ?? m_Objects; return query.Apply(gameObjects, false); }
In the previous example, the function "Search" would be called by the provider's fetchItem.
In the Search window, the errors are shown when there is no result available.
.
context | The context in which this error was logged. |
index | Index where the error occurred. |
length | Length of the block that was being parsed. |
provider | Which search provider logged this error. |
reason | The reason for the error. |
type | The type of query error. |
SearchQueryError | Creates a new SearchQueryError. |