aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm/Types.hs
diff options
context:
space:
mode:
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),