SearchQueryError
Represents a query parsing error.
Read time 1 minuteLast updated 16 days ago
Definition
- Type: Class
- Namespace: UnityEditor.Search
- Assembly: UnityEditor
public class SearchQueryError
Remarks
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){ const bool useFastYielding = true; var query = m_QueryEngine.ParseQuery(context.searchQuery, useFastYielding); 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"); // Do not filter all the valid objects now. The filtering will be done when the objects are actually pulled. // Since the search can be done asynchronously, the state of the objects can change in between iterations. IEnumerable<T> validObjects = FilterValidObjectsOnPull(subset ?? m_Objects, useFastYielding); return query.Apply(validObjects, 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.
.

Constructors
Constructor | Description |
|---|---|
| SearchQueryError(System.Int32,System.Int32,System.String,UnityEditor.Search.SearchContext,UnityEditor.Search.SearchProvider,System.Boolean,UnityEditor.Search.SearchQueryErrorType) | Creates a new SearchQueryError. |
| SearchQueryError(UnityEditor.Search.QueryError,UnityEditor.Search.SearchContext,UnityEditor.Search.SearchProvider,System.Boolean) | Creates a new SearchQueryError from an existing QueryError. |