Queries fewer characters than this variable are treated as exact searches.
Queries fewer characters than this variable are treated as exact searches.
For example, the query "S" returns only symbols with the exact name "S" and not symbols like "Stream".
Companion to bloomFilterSymbolStrings
.
Companion to bloomFilterSymbolStrings
.
Returns the set of strings to insert into a bloom filter index of a single package or file.
Returns the set of strings to insert into a bloom filter index of a single package or file.
Given a query and set of symbols where there exists at least one symbol where Fuzzy.matches(query, symbol)
,
this method must meet the following constraints:
predicate symbols.exists(symbol => Fuzzy.matches(query, symbol))
implies bloomFilterQueryStrings(query).forall(bloom.mightContain)
where bloom = BloomFilter(bloomFilterSymbolStrings)
What this method roughly tries to achieve is extract the substrings of the symbols that can appear in queries.
For example, given the symbol InputFileChunkedStream
we insert the following substrings:
- All prefixes of the individual names Input
, File
, Chunked
and Stream
,
example: "I", "In", "Inp", ..., "Strea", "Stream".
- All trigrams of uppercase characters, example: "IFC", "IFS", "FCS".
Returns true if this char sequence contains only digit characters.
Returns true if this char sequence contains only digit characters.
Returns true if the query matches the given symbol.
Returns true if the query matches the given symbol.
the search query like "m.Pos"
the symbol to test the query against like "scala/meta/inputs/Position#"
the number of names in the symbol to jump over. For regular search, use 0. Use 1 to let the query "m.Pos" match "scala/meta/Position#Range."
Returns true if all characters in the query have a case in-sensitive matching character in the symbol, in-order
Returns true if all characters in the query have a case in-sensitive matching character in the symbol, in-order
Matching examples:
- int toInt
- int instance // Because in
and t
- int intNumber
Non-matching examples: - int inSub // missing t
the query string, like "int"
the symbol to test for matching against the query string, like "toInt".
Returns the length of the last name in this symbol.
Returns the length of the last name in this symbol.
Example: scala/Option$Some.class returns length of "Some"
A custom version of fuzzy search designed for code completions.