From 3d461b234d0b30cb7085251390b264089f447a97 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Thu, 26 Dec 2024 21:53:49 +0530 Subject: Add fuzzy search for search mode --- src/Chelleport/AppState.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Chelleport/AppState.hs b/src/Chelleport/AppState.hs index 697e9c4..72a1afe 100644 --- a/src/Chelleport/AppState.hs +++ b/src/Chelleport/AppState.hs @@ -11,6 +11,7 @@ import Control.Monad (replicateM_) import Data.Char (toLower) import Data.List (isInfixOf) import Data.Maybe (fromMaybe, isJust) +import qualified Text.Fuzzy as Fuzzy initialState :: (Monad m) => m (State, Maybe AppAction) initialState = do @@ -67,7 +68,7 @@ update state@(State {stateMode = ModeSearch {searchWords, searchInputText}}) (Ha mode = stateMode state filterMatches text | isEmpty text = searchWords - | otherwise = filter (isInfixOf text . map toLower . matchText) searchWords + | otherwise = Fuzzy.original <$> Fuzzy.filter text searchWords "" "" matchText False -- Increment highlighted index for search mode update state (IncrementHighlightIndex n) = do -- cgit v1.3.1