aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm/Types.hs
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-10-05 23:32:17 +0530
committerAkshay Nair <phenax5@gmail.com>2025-10-08 13:08:32 +0530
commit41d8a90746cd97d1dcb8228c1e9a0846ba9d9b6a (patch)
tree942f95367163ad967323ba41f8a400b654e99688 /lib/Daffm/Types.hs
parent424d65e53b99c65f07f36578e3d0975c4d093c0e (diff)
downloaddaffm-41d8a90746cd97d1dcb8228c1e9a0846ba9d9b6a.tar.gz
daffm-41d8a90746cd97d1dcb8228c1e9a0846ba9d9b6a.zip
Add search command
Diffstat (limited to 'lib/Daffm/Types.hs')
-rw-r--r--lib/Daffm/Types.hs11
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),