# Functions
BestMatch returns the name most similar to the pattern, using fuzzy matching, or the empty string.
LastSegment returns the substring representing the last segment from the input, where each byte has an associated RuneRole in the roles slice.
NewMatcher returns a new fuzzy matcher for scoring candidates against the provided pattern.
NewSymbolMatcher creates a SymbolMatcher that may be used to match the given search pattern.
RuneRoles detects the roles of each byte rune in an input string and stores it in the output slice.
Words find word delimiters in an input based on its bytes' mappings to rune roles.
# Constants
MaxInputSize is the maximum size of the input scored against the fuzzy matcher.
MaxPatternSize is the maximum size of the pattern used to construct the fuzzy matcher.
RHead specifies a rune which is the first character in a word in the input.
RNone specifies a rune without any role in the input (i.e., whitespace/non-ASCII).
RSep specifies a rune with the role of segment separator.
RTail specifies a rune which is a lower-case tail in a word in the input.
RUCTail specifies a rune which is an upper-case tail in a word in the input.
# Structs
Matcher implements a fuzzy matching algorithm for scoring candidates against a pattern.
SymbolMatcher implements a fuzzy matching algorithm optimized for Go symbols of the form:
example.com/path/to/package.object.field
Knowing that we are matching symbols like this allows us to make the following optimizations: - We can incorporate right-to-left relevance directly into the score calculation.
# Type aliases
RuneRole specifies the role of a rune in the context of an input.
WordConsumer defines a consumer for a word delimited by the [start,end) byte offsets in an input (start is inclusive, end is exclusive).