diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-10-05 23:32:17 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-10-08 13:08:32 +0530 |
| commit | 41d8a90746cd97d1dcb8228c1e9a0846ba9d9b6a (patch) | |
| tree | 942f95367163ad967323ba41f8a400b654e99688 /lib/Daffm/Types.hs | |
| parent | 424d65e53b99c65f07f36578e3d0975c4d093c0e (diff) | |
| download | daffm-41d8a90746cd97d1dcb8228c1e9a0846ba9d9b6a.tar.gz daffm-41d8a90746cd97d1dcb8228c1e9a0846ba9d9b6a.zip | |
Add search command
Diffstat (limited to 'lib/Daffm/Types.hs')
| -rw-r--r-- | lib/Daffm/Types.hs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Daffm/Types.hs b/lib/Daffm/Types.hs index eb9d9a5..dc6ca36 100644 --- a/lib/Daffm/Types.hs +++ b/lib/Daffm/Types.hs @@ -7,6 +7,7 @@ import Control.Applicative ((<|>)) import qualified Data.Map as Map import qualified Data.Set as Set import qualified Data.Text as Text +import qualified Data.Vector as Vec import qualified Graphics.Vty as K import qualified Graphics.Vty as V import System.Posix.Types (FileMode, FileOffset) @@ -44,7 +45,10 @@ data AppState = AppState stateKeyMap :: Keymap, stateKeySequence :: KeySequence, stateListPositionHistory :: Map.Map Text.Text Int, - stateOpenerScript :: Maybe Text.Text + stateOpenerScript :: Maybe Text.Text, + stateSearchTerm :: Maybe Text.Text, + stateSearchMatches :: Vec.Vector Int, + stateSearchIndex :: Int } deriving (Show) @@ -69,6 +73,8 @@ data Command | CmdClearSelection | CmdGoBack | CmdChain [Command] + | CmdSearch Text.Text + | CmdSearchNext Int | CmdNoop deriving (Show, Eq) @@ -109,6 +115,9 @@ defaultKeymaps = [ ([K.KChar 'q'], CmdQuit), ([K.KChar 'r', K.KChar 'r'], CmdReload), ([K.KChar '!'], CmdSetCmdline "!"), + ([K.KChar '/'], CmdSetCmdline "search "), + ([K.KChar 'n'], CmdSearchNext 1), + ([K.KChar 'N'], CmdSearchNext (-1)), ([K.KChar ':'], CmdEnterCmdline), ([K.KChar 'l'], CmdOpenSelection), ([K.KChar 'h'], CmdGoBack), |
