How to programatically explore the matching done by the substrings filter
This page is for experiments involving GtSpotterSubstringsFilterStream
. It instantiates a filter, applies a configuration on it, and matches strings. The case it uses is that of searching for classes by name.
queryString := 'BlElement'.
queryString := 'GtSpotterSubstringsFilterStream'
configuration := GtSpotterSubstringsFilterConfiguration new.
configuration beCaseSensitiveByCapitalization; withWordsSplitter
filterStream := (GtSpotterSubstringsFilterStream forStream: SystemNavigation default allClassesAndTraits asAsyncStream search: queryString). filterStream itemString: [ :aClass | aClass name ]. configuration ifNotNil: [ filterStream searchWords: (configuration querySplitter splitQueryString: queryString). configuration caseComparison applyOnFilterStream: filterStream ]. filterStream
filterStream searchSubstringIn: 'BlElement'
filterStream searchSubstringIn: 'GtSpotterSubstringsFilterStream'