ghcide-1.7.0.0: The core of an IDE
Safe HaskellNone
LanguageHaskell2010

Text.Fuzzy.Parallel

Description

Parallel versions of filter and simpleFilter

Synopsis

Documentation

filter Source #

Arguments

:: Int

Chunk size. 1000 works well.

-> Int

Max. number of results wanted

-> Text

Pattern.

-> [t]

The list of values containing the text to search in.

-> (t -> Text)

The function to extract the text from the container.

-> [Scored t]

The list of results, sorted, highest score first.

The function to filter a list of values by fuzzy search on the text extracted from them.

simpleFilter Source #

Arguments

:: Int

Chunk size. 1000 works well.

-> Int

Max. number of results wanted

-> Text

Pattern to look for.

-> [Text]

List of texts to check.

-> [Scored Text]

The ones that match.

Return all elements of the list that have a fuzzy match against the pattern. Runs with default settings where nothing is added around the matches, as case insensitive.

>>> simpleFilter "vm" ["vim", "emacs", "virtual machine"]
["vim","virtual machine"]

match Source #

Arguments

:: Text

Pattern in lowercase except for first character

-> Text

The text to search in.

-> Maybe Int

The score

Returns the rendered output and the matching score for a pattern and a text. Two examples are given below:

>>> match "fnt" "infinite"
Just 3
>>> match "hsk" "Haskell"
Just 5

data Scored a Source #

Constructors

Scored 

Fields

Instances

Instances details
Functor Scored Source # 
Instance details

Defined in Text.Fuzzy.Parallel

Methods

fmap :: (a -> b) -> Scored a -> Scored b #

(<$) :: a -> Scored b -> Scored a #

Show a => Show (Scored a) Source # 
Instance details

Defined in Text.Fuzzy.Parallel

Methods

showsPrec :: Int -> Scored a -> ShowS #

show :: Scored a -> String #

showList :: [Scored a] -> ShowS #